refactor: company card feed types and utils#80006
refactor: company card feed types and utils#80006chrispader wants to merge 29 commits intoExpensify:mainfrom
Conversation
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.
|
|
@marcochavezf Please 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] |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ac25b86ab2
ℹ️ 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".
Reviewer Checklist
|
|
@carlosmiceli i fixed TS errors, merged main and addressed all comments by @ikevin127, except for this issue:
@ikevin127 how can i achieve to have two card feeds with the same card names? Also, if these are different feeds, should assigning a card with the same name really throw an error? Naturally, i feel like this should work, right? |
@ikevin127 @chrispader I'm trying to understand the bug, steps read a bit confusing to me and can't figure it out from the video. Is the same card being assigned twice? Different feeds with the same card? We're working on a BE fix for preventing assignment for the same card despite being in different domains/workspaces (issue), would that fix this too? |
|
Here are complete steps for that issue (that happens only on this PR) starting from scratch: Preconditions:
Screen.Recording.2026-01-27.at.15.56.46.movcc @chrispader @carlosmiceli Hope its more clear now 🙌 |
|
@chrispader do these steps help to try to reproduce/fix what Kevin found? |
You mean with a bank account added under "Payments"? How can i do that? I have never used that before
@ikevin127 i'm prompted for Regions Bank account credentials? Should this step be omitted or do you have any credentials for me?
|
|
@chrispader It's the test BA credential regardless of bank (this while on staging server): ID: |
|
@ikevin127 ahh thanks, totally missed the grey bar at the bottom saying exactly this. thanks haha I was just able to reproduce this issue, but also on Screen.Recording.2026-02-06.at.15.07.28.movNevertheless, I fixed this issue in 8da8bf7 |
ikevin127
left a comment
There was a problem hiding this comment.
I was just able to reproduce this issue, but also on main/staging. @ikevin127 could you confirm that you're also able to repro on main? 🙌🏼
@chrispader Weird that it's reproducible on staging as well now - and it wasn't before.
This feels like an issue to me though, but in a real world scenarios it's rare that 2 different banks would have the same feed key for this logic to block the user from assigning card to the same user and for 2 different bank accounts to have the same key.
🟢 Approved
|
🎯 @ikevin127, thanks for reviewing and testing this PR! 🎉 An E/App issue has been created to issue payment here: #81759. |
|
@chrispader We have failing tests 🫡 |

@carlosmiceli @joekaufmanexpensify
Explanation of Change
Refactorings around types and utils for company card feeds.
Fixed Issues
#76438
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
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari