Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce Patches: changes to be uploaded to the server #2156

Merged
merged 13 commits into from
Sep 12, 2023

Conversation

jingtang10
Copy link
Collaborator

@jingtang10 jingtang10 commented Sep 7, 2023

IMPORTANT: All PRs must be linked to an issue (except for extremely trivial and straightforward changes).

Description
Introduce the concept of Patch, which is the changes to be sent to the server. More specifically:

  • Introduce Patch class, which is very similar to the LocalChange class at the moment
  • Change the result of "squashing" to Patches
  • Chagne the input of request generation to Patches
  • Remove the UploadWorkManager function getPendingUploadsIndicator and inline its implementation, paving the way for removing UploadWorkManager altogether

Remaining issues:

  • The local change tokens are created by simply concatenating the tokens from all local changes. This only works now for upload bundle sizes less than 500. If the bundle size is greater than 500, local change tokens will be missed. This needs to be addressed in a follow up PR.

Alternative(s) considered
Have you considered any alternatives? And if so, why have you chosen the approach in this PR?

Type
Feature

Screenshots (if applicable)

Checklist

  • I have read and acknowledged the Code of conduct.
  • I have read the Contributing page.
  • I have signed the Google Individual CLA, or I am covered by my company's Corporate CLA.
  • I have discussed my proposed solution with code owners in the linked issue(s) and we have agreed upon the general approach.
  • I have run ./gradlew spotlessApply and ./gradlew spotlessCheck to check my code follows the style guide of this project.
  • I have run ./gradlew check and ./gradlew connectedCheck to test my changes locally.
  • I have built and run the demo app(s) to verify my change fixes the issue and/or does not break the demo app(s).

@jingtang10 jingtang10 marked this pull request as ready for review September 8, 2023 14:39
@jingtang10 jingtang10 linked an issue Sep 8, 2023 that may be closed by this pull request
Copy link
Collaborator

@anchita-g anchita-g left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Contributor

@omarismail94 omarismail94 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change is so good!

Copy link
Contributor

@omarismail94 omarismail94 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

GREAT change! just some uber nits

@jingtang10 jingtang10 enabled auto-merge (squash) September 12, 2023 15:59
@jingtang10 jingtang10 merged commit 87c3437 into google:master Sep 12, 2023
2 of 3 checks passed
@jingtang10 jingtang10 linked an issue Sep 14, 2023 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Complete
Development

Successfully merging this pull request may close these issues.

Upload Work Manager - API refactoring Create new resources on the server using POST
4 participants