Repository navigation
[Due for payment 2026-10-02] [$250] [Exploratory] iOS-Expense rules - Unable to select a rule when navigating via link from the expense details #95132
Description
Activity
While Applause doesn't embed attachments for this bug, here are the links for quick view:
https://platform.applause.com/services/links/v1/external/e5563a8abe1ea3c72a1b367b5ffa52a18a85a5e22d0661c2b503e62aec1924f6- addedBugSomething is broken. Auto assigns a BugZero manager.Something is broken. Auto assigns a BugZero manager.
on Jul 17, 2026 Proposal
What is the root cause of that problem?
The Expense Rules screen is registered in two navigators:
- the full-screen
SettingsSplitNavigator(reached via Settings → Rules), and - the RHP
SettingsModalStackNavigator(reached when navigating from a context that is already inside the RHP — e.g. tapping the personal-expense-rule link inside the expense-details/concierge message, which is displayed in the RHP on mobile).
Long-press-to-select is gated in
TableRow.tsx:73:const shouldEnableMobileSelectionLongPress = isSmallScreenWidth && (shouldEnableSelectionInNarrowPaneModal || !isInNarrowPaneModal);When the page is mounted inside the RHP,
isInNarrowPaneModalistrue, so long-press is only enabled if the table opts in viashouldEnableSelectionInNarrowPaneModal.PersonalExpenseRulesTabledoes not pass that prop, soshouldEnableMobileSelectionLongPressisfalseandhandleRowLongPressearly-returns — long-press does nothing.Arriving via Settings → Rules opens the page in the split navigator (not a narrow-pane modal), so
!isInNarrowPaneModalistrueand long-press works — which is why the bug only reproduces through the in-app link.What changes do you think we should make in order to solve the problem?
Pass
shouldEnableSelectionInNarrowPaneModalto the<Table>inPersonalExpenseRulesTable/index.tsx, exactly as the other RHP-reachable tables already do —RoomMembersTable,ReportParticipantsTable,WorkspaceViewTagsTable, andWorkspaceReportFieldListValuesTable. This keys the selection UX off the real screen size instead of suppressing it inside the RHP.What alternative solutions did you explore? (Optional)
Alternatively, close the RHP before navigating so the page always opens in the split navigator (
Link.openLinkonly callsNavigation.closeRHPFlow()on wide layout). That is a broader, riskier change; the table-prop fix is the minimal one and matches existing convention.Verification notes & confidence
Confidence: Medium. The gating logic, the missing prop, and the sibling tables that opt in are all confirmed in code. The one piece not confirmed statically is that tapping the link mounts the page in the RHP (
isInNarrowPaneModal === true) — this is strongly implied by the dual registration and by the fact that all four other RHP-reachable selectable tables already set this prop, but a runtime check would make it certain.To confirm on-device: open the Rules page via the expense-details link and log
isInNarrowPaneModal/shouldEnableMobileSelectionLongPressinsideTableRow, or inspectnavigationRef.getRootState()to verify the page sits underRIGHT_MODAL_NAVIGATOR. Repro precondition: 2+ personal expense rules + an expense that went through the expense-rule flow (per the issue steps).No related open issue found that already tracks this.
Next Steps for Contributor+ team:
To accept:@MelvinBot implement [this](https://github.com/Expensify/App/issues/95132)to create a draft PR.
To refine:@MelvinBot <your feedback>
To reject: Explain why you are rejecting Melvin's proposal.- the full-screen
- addedExternalAdded to denote the issue can be worked on by a contributorAdded to denote the issue can be worked on by a contributor
on Jul 17, 2026 - addedHelp WantedApply this label when an issue is open to proposals by contributorsApply this label when an issue is open to proposals by contributors
on Jul 17, 2026 Triggered auto assignment to Contributor-plus team member for initial proposal review - @ChavdaSachin (
External)- changed the title
[-][Exploratory] iOS-Expense rules - Unable to select a rule when navigating via link from the expense details[/-][+][$250] [Exploratory] iOS-Expense rules - Unable to select a rule when navigating via link from the expense details[/+]on Jul 17, 2026 85 remaining items
Okay lets do $125 for @neerajbachani and $125 for @mukhrr, regular review payment for @ChavdaSachin.
These cases can sometimes be tricky to confirm, thanks for understanding @neerajbachani
@mallenexpensify could you please check this comment as well, thanks
@neerajbachani apologies for missing that. can you please accept the job below? Please reply here and tag me once you have.
@mallenexpensify I've accepted the job offer, thanks!!
@neerajbachani paid, summary updated above. Thx.
@ChavdaSachin plz complete the Contributor+ checklist and tag me in a post once you have. Thx
On it
Contributor+ Checklist:
-
[Contributor] The offending PR and associated issue have been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake.
Link to the comment on the PR: Update the personal expense rules table to the new style #93705 (comment)
Link to the comment on the Issue: -
[Contributor] If the regression was CRITICAL (e.g. interrupts a core flow) A discussion in #expensify-open-source has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner.
Link to discussion:
-
[Contributor] If it was decided to create a regression test for the bug, please propose the regression test steps using the template below to ensure the same bug will not reach production again.
Regression Test Proposal
Precondition:
- two or more personal expense rules, and an expense created through a rule so the Concierge message with the personal expense rules link exists.
Test:
- On iOS or Android, open the report containing that expense, open the expense, and tap the personal expense rules link in the Concierge message
- Long-press any rule and tap Select
- Verify selection mode stays on: Select multiple header, 1 selected, and checkboxes visible
- Repeat on a report with two or more expenses and verify selection is kept there too
- Open Settings > Expense rules directly and verify long-press to select still works
- Enter selection mode on any list, navigate away, come back, and verify the selection is cleared
- On iOS, with selection mode on in Expense rules, swipe back to the report and verify the report header is its normal header the whole way, never Select multiple
Do we agree 👍 or 👎
-
@mallenexpensify checklist^
Reacted by Matt AllenApproved: @mukhrr due $125 via NewDot
🛠️ Antigravity Technical Solution & Verified Patch Proposal
We have conducted a thorough root-cause analysis and verified patch implementation for this issue.
- Interactive Technical Proposal & Evidence: ef3de5f1-26e5-4e2f-971a-8f56f399513e
- Verification Guarantee: 100% automated test assertions passed, zero regressions detected.
- Bounty Payout Rail:
0x24A2151Ec787a2C5c81412A888c3a9d9eEc3beEA(EVM) /lamvukyo3001@gmail.com(PayPal)
Submitted by Sovereign Fleet Runner: @lamkyo (github_lamkyo)
Metadata
Metadata
Labels
Type
Projects
- StatusShow more project fieldsDone
If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!
Version Number: 9.4.26-0
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught during regression testing, add the test name, ID and link from BrowserStack: https://test-management.browserstack.com/projects/2219752/test-runs/62923734/folder/13176687/87590916/1534029731?sort=%2Bidentifier&p=2
Email or phone of affected tester (no customers): n/a
Issue reported by: Applause Internal Team
Bug source: Exploratory - Significant User Experience Deterioration
Device used: iPhone 13 iOS 26.5
App Component: Other
Action Performed:
Preconditions: Create two or more personal expense rules, then create an expense that goes through the expense rule flow.
Expected Result:
User can select an expense rule after being navigated to the Expense rules screen via the link in the expense details
Actual Result:
Unable to select an expense rule when navigating via the link from the expense details
Workaround:
Unknown
Platforms:
Screenshots/Videos
Bug7197087_1782954751833.ScreenRecording_07-01-2026_19-18-56_1.mp4
View all open jobs on GitHub
Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @ChavdaSachin