[No QA] Ensure that no other updates are made to Onyx while missing Onyx updates are fetched and applied#24607
Conversation
|
@rushatgabhane @ One of you needs to copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
Reviewer Checklist
Screenshots/VideosWeb4510be94-90a4-4884-8a3f-de8183d7df71.mp4Mobile Web - ChromeWhatsApp.Video.2023-08-16.at.19.06.09.mp4Mobile Web - SafariScreen.Recording.2023-08-17.at.01.00.23.movDesktopScreen.Recording.2023-08-17.at.01.05.00.moviOSe3a95007-3800-4962-b289-69a3c955641a.mp4AndroidScreen.Recording.2023-08-17.at.01.00.54.mov |
|
@aldo-expensify Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🚀 Deployed to staging by https://github.com/danieldoglas in version: 1.3.55-0 🚀
|
|
🚀 Deployed to staging by https://github.com/danieldoglas in version: 1.3.56-0 🚀
|
|
🚀 Deployed to production by https://github.com/roryabraham in version: 1.3.56-24 🚀
|
|
Can I get a payment summary for @rushatgabhane from an Expensify employee? |
|
@JmillsExpensify this should be $1k for @rushatgabhane since it was created before the price change! |
|
$1,000 payment approved for @rushatgabhane based on comment above. |
| const numberOfPersistedRequests = PersistedRequests.getAll().length || 0; | ||
| console.debug(`[SequentialQueue] Unpausing the queue and flushing ${numberOfPersistedRequests} requests`); | ||
| isQueuePaused = false; | ||
| flush(); |
There was a problem hiding this comment.
Coming from #52027, the flush resets the isReadyPromise, causing the pending get request to remain unresolved, we add a boolean parameter to ensure that unpause won't reset isReadyPromise. :)
Details
This PR adds a mechanism to pause and unpause the sequential network queue. This is needed so that if the client is missing updates that the server has, then the missing updates are fetched and applied to Onyx, and then finally the sequential queue is unpaused.
This PR also removes the
priorityRequestoption now since it is not needed.Fixed Issues
$ #24606
Tests
C+, please test that this version of the app still works as expected for the default actions (navigating, sending messages, etc etc)
This can only be tested by an internal employee on the RELIABLE_UPDATES beta
force offline modeforce offline modeoptionOffline tests
Included in tests above
QA Steps
This won't be able to be QA'ed yet. We will be doing manual testing later this week.
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)myBool && <MyComponent />.src/languages/*files and using the translation methodWaiting for Copylabel for a copy review on the original GH to get the correct copy.STYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)/** comment above it */thisproperly so there are no scoping issues (i.e. foronClick={this.submit}the methodthis.submitshould be bound tothisin the constructor)thisare necessary to be bound (i.e. avoidthis.submit = this.submit.bind(this);ifthis.submitis never passed to a component event handler likeonClick)StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))Avataris modified, I verified thatAvataris working as expected in all cases)ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Web
Uploading 2023-08-15_14-40-27.mp4…
Mobile Web - Chrome
Note: This can only be tested with web and desktop for now
Mobile Web - Safari
Note: This can only be tested with web and desktop for now
Desktop
See video under the web section
iOS
Note: This can only be tested with web and desktop for now
Android
Note: This can only be tested with web and desktop for now