[No QA] Fire searchForTodos request after OpenApp/ReconnectApp#94858
Conversation
|
@shubham1206agra 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] |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d25baa8012
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
|
TS failure seems on main, not sure about the failing tests. Eitherway this is good for review and I will merge main later |
| callback: (serverReconnectCutoffOnyxValue) => { | ||
| serverReconnectCutoff = serverReconnectCutoffOnyxValue ?? ''; | ||
| if (serverReconnectCutoff) { | ||
| const connection = Onyx.connectWithoutView({ |
There was a problem hiding this comment.
as much as this is rather a move, can you make sure we keep SEQUENTIAL_QUEUE.md up to date and it does not break what's already in there?
There was a problem hiding this comment.
This does not change how the sequential queue works, this only defers making an onyx connection to be after the first connection is resolved so we are guaranteed fresh up-to-date data.
Without the fix, as sonn as this connection resolves we will call doFullReconnectIfNecessary and we may pass a stale lastFullReconnectTime
|
@shubham1206agra The BE PR hit staging, you should be able to review/test |
Reviewer Checklist
Screenshots/VideosScreen.Recording.2026-07-07.at.10.59.35.PM.mov |
|
Putting it on HOLD as we should only merge this once the web PR hits prod |
|
Web-E PR is on prod. @s77rt can you resolve conflicts please? |
|
Resolved conflicts |
|
Failing tests are on |
|
@s77rt can you sync again please |
|
Merged main |
|
🚧 mountiny has triggered a test Expensify/App build. You can view the workflow run here. |
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, and Web. Happy testing! 🧪🧪
|
|
🚀 Deployed to staging by https://github.com/mountiny in version: 9.4.33-0 🚀
|
|
🤖 I reviewed the changes in this PR against Expensify's help site articles under No help site changes are required. These changes are internal data-loading plumbing with no user-facing impact:
Nothing here changes any feature name, tab, setting, button label, pricing, workflow, or otherwise user-visible behavior (the PR is also marked No draft PR was created because no documentation update is warranted. If you believe a specific article should reflect something here, let me know which one and I'll take another look. |
|
🚀 Deployed to production by https://github.com/lakchote in version: 9.4.33-8 🚀
Bundle Size Analysis (Sentry): |
Explanation of Change
Call
searchForTodosapi after OpenApp/ReconnectAppThis is needed to compensate for the data that is no longer returned by OpenApp/ReconnectApp
Removed todo search calls in
useYourSpendDataThis is no longer needed since the
searchForTodoswould be enoughFixed race condition that caused full reconnectApp
This onyx callback for
nvp_reconnectAppIfFullReconnectBeforemay resolve first and if so we will still havelastFullReconnectTimebeing empty, this would cause a full reconnect even though the reallastFullReconnectTimevalue is not behind. I have fixed this by reading the value fresh in a nested onyx connector (making them in series instead of parallel)Fixed Issues
$ #94674
PROPOSAL:
Tests
OpenApprequest there is aSearchForTodosrequestReconnectApprequest there is aSearchForTodosrequestOpenApprequest there is aSearchForTodosrequestScreen.Recording.2026-07-01.at.11.26.26.PM.mov
Offline tests
Same as Tests
QA Steps
n/a
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)Avatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))npm run compress-svg)Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari