Repository navigation
[CFI] Report anchored dropdown - #105028
puneetlath merged 10 commits into
Conversation
|
@ikevin127 @thelullabyy 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] |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Codecov Report✅ Changes either increased or maintained existing code coverage, great job!
|
|
There are a few minor issues on native. I’ll mark it as ready again once I’ve figured them out |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ea5e6ca30d
ℹ️ 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".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ea5e6ca30d
ℹ️ 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".
Reviewer Checklist
Screenshots/VideosiOS: NativeScreen.Recording.iPhone.18.Pro.10-27-2026.at.17.51.58.mp4MacOS: Chrome / SafariScreen.Recording.2026-10-27.at.17.26.57.mov |
ikevin127
left a comment
There was a problem hiding this comment.
6 findings during code-review (1 🟠, 2 🟡, 3 🟢).
I left out what the bots already raised:
- Fixed in the PR: PERF-10 (the effect is now renderInContainer) and Codex's "restricted-action route" finding (now handled by
onNavigateAway) - Still open, not repeated: Codex's
blockDistanceRequestIfNeeded→ home-address navigation finding
You also commented "a few minor issues on native", so I understand that the PR may not be fully ready yet.
|
@ikevin127 I resolved all comments |
|
@DylanDylann you have conflicts :) |
|
@ikevin127 All done |
ikevin127
left a comment
There was a problem hiding this comment.
🟢 LGTM - Thanks for applying the changes
…tPickerActions.ts Co-authored-by: Puneet Lath <puneet@expensify.com>
@puneetlath Could you clarify what you mean? Are you saying goBack and onNavigateAway are duplicated? In the useReportPickerActions caller in DynamicIOURequestStepReport, I intentionally didn’t pass onNavigateAway |
|
Oh, I'm just saying that there's an unresponded-to unresolved comment from the AI reviewer so I'm asking for your opinion on what it said. I think in general we should always respond to these comments and either address the feedback or say why we're not taking the feedback and then resolve the comment. |
|
🚧 trjExpensify has triggered a test Expensify/App build. You can view the workflow run here. |
This comment has been minimized.
This comment has been minimized.
trjExpensify
left a comment
There was a problem hiding this comment.
Why is the report field non-editable until I add a second open report? I would think it should be editable with the two options:
- Create report
- The existing open report
2026-10-29_23-38-20.mp4
|
@trjExpensify This is the current behavior on staging, so it’s not caused by this PR. Currently, when creating an expense in a workspace chat, we only allow editing the report field if there’s more than one outstanding report. If you think we need to update that, I will do it in a follow-up PR
|
|
@DylanDylann conflicts. I do think we should make it possible to create the report from that flow, so let's make a follow-up PR for that. |
|
🚧 puneetlath has triggered a test Expensify/App build. You can view the workflow run here. |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, and Web. Happy testing! 🧪🧪
|
|
🚀 Deployed to staging by https://github.com/puneetlath in version: 9.5.27-0 🚀
|
|
No help site update needed. The new Report pop-over only appears behind the |
|
Deploy Blocker #105549 was identified to be related to this PR. |
Agreed. I think you should be able to create unreported as well. So with autoReporting enabled I was expecting: No existing eligible reports:
Has eligible reports (one or more):
|
|
🚀 Deployed to production by https://github.com/blimpich in version: 9.5.27-2 🚀
Bundle Size Analysis (Sentry): |

Explanation of Change
Implement a new Report dropdown
Fixed Issues
$ #101573
PROPOSAL:
Tests
Same QA steps
Offline tests
Same QA steps
QA Steps
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectionAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))CategoryPickerModalis shared with the Search table's inline category edit and needs re-verifying there.Designlabel and/or tagged@Expensify/designso the design team can review the changes.tests/unit/components/ExpenseFieldDropdown.test.tsxcovers lazy mounting, opening in place vs. navigating, the row-width/below-the-row geometry, the flip above the row, dismissing by pressing the row again, and the full-page fallback.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: HybridApp
Screen.Recording.2026-10-28.at.15.41.31.mov
Android: mWeb Chrome
Screen.Recording.2026-10-28.at.15.48.00.mov
iOS: HybridApp
Screen.Recording.2026-10-28.at.15.40.38.mov
iOS: mWeb Safari
Screen.Recording.2026-10-28.at.15.48.38.mov
MacOS: Chrome / Safari
Screen.Recording.2026-10-28.at.15.44.43.mov