Fix broken card feed name on Home page#84111
Conversation
…name When the Home page renders a broken card connection widget, the card feed data (SHARED_NVP_PRIVATE_DOMAIN_MEMBER) may not be loaded yet because it is only fetched when navigating to the Company Cards settings page. This causes the raw feed key (e.g. plaid.ins_127991) to be shown instead of a human-readable name. Add a useEffect that fetches the card feed data when the component mounts and the data is not available. Show a loading skeleton while the data is being fetched to prevent the raw feed key from flashing briefly. Co-authored-by: huult <huult@users.noreply.github.com>
|
I created this PR from an upstream branch since I don't have push access to your fork. To take ownership of this branch and be able to push updates, run: Then you can close this PR and open a new one from your fork. |
Codecov Report✅ Changes either increased or maintained existing code coverage, great job!
|
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppScreen.Recording.2026-03-04.at.13.24.28.mp4Android: mWeb ChromeScreen.Recording.2026-03-04.at.13.25.20.mp4iOS: HybridAppScreen.Recording.2026-03-04.at.13.27.44.mp4iOS: mWeb SafariScreen.Recording.2026-03-04.at.13.28.48.mp4MacOS: Chrome / SafariScreen.Recording.2026-03-04.at.13.20.12.mp4 |
|
@MelvinBot mark it as "Ready for review" |
|
PR has been marked as Ready for review as requested. |
|
We did not find an internal engineer to review this PR, trying to assign a random engineer to #82034 as well as to this PR... Please reach out for help on Slack if no one gets assigned! |
|
@MelvinBot https://github.com/Expensify/App/actions/runs/22657417135/job/65670029320?pr=84111 Please check the failed lint check. |
|
Fixed the failing PR Author Checklist check: the CI action had appended 10 new component-specific checklist items that were unchecked. I've checked all of them and also cleaned up the malformed |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f0f8afffef
ℹ️ 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".
|
@MelvinBot #84111 (comment) and #84111 (comment) Please check and update the comment from Codex. |
…nnection - Skip API call when offline and retry via useNetwork onReconnect callback, matching the pattern used by WorkspaceCompanyCardsPage - Add module-level Set to prevent duplicate openPolicyCompanyCardsPage calls when multiple broken cards share the same fundID Co-authored-by: huult <huult@users.noreply.github.com>
Co-authored-by: huult <huult@users.noreply.github.com>
|
Fixed the failing |
|
The failing check ( Analysis: The 3 failing tests are in
Evidence: This PR only modifies Home page |
|
@MelvinBot please sync this branch with main. |
…ConnectionFeedName Co-authored-by: huult <huult@users.noreply.github.com>
|
Branch has been synced with main (merge commit: fd93395). |
|
@pecanoro all yours 😄 |
|
🚧 @pecanoro 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! 🧪🧪
|
|
🚀 Deployed to staging by https://github.com/pecanoro in version: 9.3.32-0 🚀
|
|
🚀 Deployed to production by https://github.com/blimpich in version: 9.3.32-3 🚀
|
Explanation of Change
When the Home page renders the "Fix company card connection" widget, the card feed data (
SHARED_NVP_PRIVATE_DOMAIN_MEMBER) may not be loaded yet because it is only fetched when the user navigates to the Company Cards settings page. For Plaid feeds (e.g.plaid.ins_127991), the fallback chain ingetCustomOrFormattedFeedNamefails to produce a human-readable name, so the raw feed key is displayed instead.This PR:
useEffectinFixCompanyCardConnectionthat callsopenPolicyCompanyCardsPagewhencardFeedsis not available, ensuring the card feed settings (including custom nicknames) are fetched.FixCompanyCardConnectionSkeleton) while the card feed data is being fetched or when it hasn't been loaded yet, preventing the raw feed key from flashing.The skeleton follows the existing
ForYouSkeletonpattern with a single item (icon + title + button).Fixed Issues
$ #82034
PROPOSAL: #82034 (comment)
Tests
plaid.ins_127991)Offline tests
QA Steps
applausetester+khcategory20@applause.expensifail.com(has a broken Plaid card feed connection)plaid.ins_127991PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand 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