refactor: PureReportActionItem, push down 5 wrapper subscriptions into action leaves#89160
Conversation
c595b14 to
0427001
Compare
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1e098ec9fc
ℹ️ 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".
… to ReimbursementQueuedContent
1e098ec to
312a781
Compare
|
@codex review |
|
Codex Review: Didn't find any major issues. Keep it up! ℹ️ 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". |
|
PR doesn’t need product input as a refactor PR. Unassigning and unsubscribing myself. |
Reviewer Checklist
Screenshots/Videos |
|
@cristipaval looks like this was merged without a test passing. Please add a note explaining why this was done and remove the |
|
🚧 @cristipaval 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! 🧪🧪
|
Two test sites in PureReportActionItemTest were missed during the prop cleanup in Expensify#89160. Co-authored-by: Cursor <cursoragent@cursor.com>
Two test sites in PureReportActionItemTest were missed during the prop cleanup in Expensify#89160. Co-authored-by: Cursor <cursoragent@cursor.com>
|
🚀 Deployed to staging by https://github.com/cristipaval in version: 9.3.66-0 🚀
|
|
No help site changes are required for this PR. This is a purely internal refactoring that pushes down 5 wrapper-level Onyx subscriptions from |



Explanation of Change
PureReportActionItemand inlines each into the leaf that consumes it. Non-matching rows (the dominantADD_COMMENTcase) stop paying for these subs.REPORT_METADATA_<reportID>→ApprovalFlowContent(onlySUBMITTED/APPROVED/FORWARDEDrows)PERSONAL_POLICY_ID→MentionWhisperContent(only mention-whisper rows)REPORT_<parentReportID>→ReimbursementQueuedContent+ReportActionItemContentCreatedREPORT_<childReportID>→ApprovalFlowContent,ModifiedExpenseContent,MovedTransactionAction,UnreportedTransactionActionPOLICY_<policyID>→ 6 leaves self-subscribe directly:ApprovalFlowContent,PaymentContent,PolicyChangeLogContent,JoinRequestContent,MentionWhisperContent,IssueCardMessageFixed Issues
$ #89196
PROPOSAL:
Tests
Smoke tests
Test 1: Submitted / Approved / Forwarded action rendering
Test 2: Modified expense and moved/unreported transaction rendering
Test 3: Mention whisper handling
Test 4: Reimbursement queued
A, pay an expense submitted by accountBvia a payment method that requiresBto set up something on their side (e.g. pay via VBBA whenBhas no personal bank account).Band open the IOU/expense chat.REIMBURSEMENT_QUEUEDmessage → "{A} started payment, but is waiting for {B} to add a bank account." with an Add bank account button.Test 5: Created thread rendering
Test 6: Workspace settings
#adminsroom or the settings change log shows the appropriate "updated [setting] to ..." message rendered correctly.Test 7: Issue card message rendering
Prerequisites:
Steps:
Offline tests
QA Steps
// TODO: These must be filled out, or the issue title must include "[No QA]."
Same as tests
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectioncanBeMissingparam foruseOnyxtoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, 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.ScrollViewcomponent to make it scrollable when more elements are added to the page.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
Test 1
test1.mov
Test 2
test2.mov
Test 3
test3.mov
Test 4
test4.mov
Test 5
test5.mov
Test 6
test6.mov
Test 7
test7.mov