Repository navigation
Conversation
Seatbelt-Operation: 5b331e45-ea5c-4a83-a77d-96fbaf6c8f98
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Explanation of Change
Remove unsafe assertions using existing card-feed types, a derived report-route view, action discrimination, and optional workspace-chat values. Correct
useScanRouteParamsto return onlyiouTypeandrouteName: all nine supported IOU types remain distinct, absent or unsupported types becomeundefined, and unconsumed params are no longer spread into the result.Changed files:
src/pages/home/TimeSensitiveSection/items/FixCompanyCardConnection.tsxsrc/pages/inbox/ReportHeader.tsxsrc/pages/inbox/report/actionContents/ActionContentRouter.tsxsrc/pages/inbox/sidebar/FABPopoverContent/useScanActions.tssrc/pages/iou/request/step/IOURequestStepScan/hooks/useScanRouteParams.tstests/unit/hooks/useScanRouteParamsTest.tsxFixed Issues
$ #94739
PROPOSAL: #94739 (comment)
Tests
Focused lint, formatting, spelling, React Compiler checks, and the selected Jest suites passed; focused TypeScript reported no changed-root diagnostics. CI passed typecheck, lint, format, React Compiler, and the selected Jest suites.
Manual QA required. QA before review is recommended for real mobile scan navigation and receipt handoff.
Run each case on Android native, Android mWeb Chrome, iOS native, and iOS mWeb Safari. Use a local candidate build against the supported test backend, a narrow mobile layout, and an unrestricted signed-in account that can create expenses and split expenses in a group chat. Create or select recipients, a workspace, and a group chat through normal App UI. Have two distinguishable ordinary receipts ready and grant camera access when prompted. Check for unexpected JS console errors during each case.
1. Create expense with two scanned receipts
Setup: Start in Inbox on a narrow mobile layout with the shared expense-capable account.
2. Split an expense with one scanned receipt
Setup: Open an ordinary group chat where the account is offered Split expense in the plus menu.
3. Add a receipt from manual confirmation
Setup: Use Create expense > Manual, enter an amount, and choose a recipient or workspace as needed to reach confirmation without a receipt. Note the amount and selection.
Offline tests
N/A: route-field projection and validation do not change request queues, persistence, receipt storage, network recovery, or card-feed reconnect behavior, so no additional offline case is selected.
QA Steps
Same as tests, after the candidate is deployed to staging and equivalent expense, group-chat, and camera access is available.
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectionAvatar, I verified the components usingAvatarare working as expected)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
Execution evidence and coverage limits
No recordings were supplied. Execution of the three cases across all four mobile lanes and console cleanliness remain unverified. The automated suites mock navigation or the scan hook and do not establish real mobile navigation, camera capture, or receipt handoff. No distinct offline case applies; offline testing remains unverified.