feat: Add frontend error for card feed backend load issue#79928
Conversation
|
Hey, I noticed you changed If you want to automatically generate translations for other locales, an Expensify employee will have to:
Alternatively, if you are an external contributor, you can run the translation script locally with your own OpenAI API key. To learn more, try running: npx ts-node ./scripts/generateTranslations.ts --helpTypically, you'd want to translate only what you changed by running |
b9117f6 to
262ed5b
Compare
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.
|
|
@carlosmiceli @joekaufmanexpensify ready for review! |
There was a problem hiding this comment.
💡 Codex Review
App/src/libs/actions/CompanyCards.ts
Lines 813 to 817 in 27259c8
After a failed OpenPolicyCompanyCardsPage call, the workspace error remains in Onyx. On a retry, the optimistic update sets isLoading: true but does not clear errors, so hasWorkspaceFeedsError stays true while the request is in flight. In WorkspaceCompanyCardsTable, that error state suppresses the loading skeleton ((isLoadingPage || …) && !hasWorkspaceFeedsError) and the error row is also hidden while loading, which can leave the page blank during a retry. Consider clearing errors in the optimistic update to avoid hiding the loading state when a retry is happening.
ℹ️ About Codex in GitHub
Your team has set up Codex to 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 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
Waiting for oppinions on #76438 (comment), after that we can run the translations script to remove TypeScript errors. |
JmillsExpensify
left a comment
There was a problem hiding this comment.
Updates look good and consistent with RBR patterns. Product approved.
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppiOS: HybridAppiOS: mWeb SafariMacOS: Chrome / Safaridesktop-chrome-2026-01-21_17.41.10.mp4 |
@jjcoffee Fixed!
|
|
@chrispader typecheck test failing 🙇 |
|
@carlosmiceli this PR should be ready now. Resolved merge conflicts |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
@MarioExpensify damn, looking into it with Chris, will get a revert ready in the meantime. |
|
Awesome, thank you guys!! @carlosmiceli I approved the revert, feel free to merge |
|
Revert merged. |
|
🚀 Deployed to staging by https://github.com/carlosmiceli in version: 9.3.10-0 🚀
|
|
@chrispader do we need QA for this? |
|
@IuliiaHerets this was reverted. |
|
@MarioExpensify could you provide more information on how you got to this error, sir? It'll probably help @chrispader diagnose what was missing from the fix. |
|
@carlosmiceli sorry, just saw your comment here. I simply headed out to the Company Cards page and it failed to open. Here are the repro steps:
The error showed up every single time I tried to open it. Reverting fixed the issue. |
|
@carlosmiceli, so can we check it off from the list? |
|
Follow-up PR for after revert is up here: #80734
@IuliiaHerets yes, we'll have to QA the above PR instead once it's merged |
|
🚀 Deployed to production by https://github.com/roryabraham in version: 9.3.10-6 🚀
|





@carlosmiceli @joekaufmanexpensify
Explanation of Change
Adds a frontend fix for failing backend
OpenPolicyCompanyCardsFeedandOpenPolicyCompanyCardsPageAPI requests. This PR adds logic that if any of the requests fails, will add an error to the workspace and or card feed and show it appropriately in the UI.Fixed Issues
$ https://github.com/Expensify/Expensify/issues/587676
PROPOSAL:
Tests
Offline tests
QA Steps
// TODO: These must be filled out, or the issue title must include "[No QA]."
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
MacOS: Chrome / Safari
OpenPolicyCompanyCardsPageerror (all card feeds affected):Screen.Recording.2026-01-20.at.12.36.26.mov
OpenPolicyCompanyCardsFeederror (only one specific feed affected):Screen.Recording.2026-01-20.at.12.36.01.mov