Fix new manual expense flow regressions (Part 3) - #98405
Conversation
Codecov Report❌ Looks like you've decreased code coverage for some files. Please write tests to increase, or at least maintain, the existing level of code coverage. See our documentation here for how to interpret this table.
|
|
@codex review |
|
@ikevin127 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] |
| const persistSelectedTab = Tab.setSelectedTab as (tabID: string, tabName: string) => void; | ||
| const notifyTabSelected = onTabSelected as (newTabName: string | undefined) => void; | ||
|
|
||
| useEffect(() => { |
There was a problem hiding this comment.
For this issue #98240,
On the first Manual press:
- tabPress fires and is not prevented (no discard guard involved).
- The tab navigator's own state moves to index 0 → manual.
- The parent never takes that change — the URL stays /create/track/start/1/0/scan.
- The navigator is then re-hydrated from the parent's pre-press snapshot and snaps back to scan, with no dispatch, no remount, and no Navigation.* call.
The second press works because by then the parent's snapshot has caught up
Solution: We record what each press asked for (from → to), and if the navigator's state later drifts back to the tab we came from
|
Codex Review: Didn't find any major issues. Already looking forward to the next diff. Reviewed commit: ℹ️ About Codex in GitHubCodex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
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". |
|
@ikevin127 can you prioritise the review of this today, please? Thanks! |
joekaufmanexpensify
left a comment
There was a problem hiding this comment.
Fixing deploy blockers.
Explanation of Change
Fixed Issues
$ #98230
$ #98317
$ #98240
PROPOSAL:
Tests
Verify that all of these issues are not reproducible
$ #98230
$ #98317
$ #98240
Offline tests
QA Steps
Verify that all of these issues are not reproducible
$ #98230
$ #98317
$ #98240
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectionAvatar, 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
98230.mov
98317.mov
98240.mov