Add Rillet integration multiple account export pages#95562
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 |
This reverts commit a4ffa66.
…ltiple-account-export
…stomExportAccountsCount utils
Follow up issue #95950
Done!
Follow up issue #95951
FE side this is handled. @lakchote will handle the BE in a follow up (treat an empty string as a indicator to clear the NVPs)
Done! |
|
Failing tests are for missing translation cc @lakchote please run workflow #95562 (comment) There are also some lint issues and that I'm handling now... |
joekaufmanexpensify
left a comment
There was a problem hiding this comment.
Core design doc issues.
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9e17f1040a
ℹ️ 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".
|
All what we are missing is the translations. @lakchote Please run workflow #95562 (comment) |
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 42c0525d55
ℹ️ 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".
| const cardProgramsOfflineFeedbackKeys = [CONST.EXPENSIFY_CARD.BANK, ...Object.values(CONST.COMPANY_CARD.FEED_BANK_NAME)].map( | ||
| (program) => `${CONST.RILLET_CONFIG.CARD_PROGRAM_ACCOUNT_PREFIX}${program}`, | ||
| ); |
There was a problem hiding this comment.
Include actual feed keys when tracking Rillet feedback
For numbered/custom feed variants that useCardFeeds can return (for example vcf2), updateRilletCardProgramAccount writes feedback under cardProgramAccount_${feedKey} using that exact feed key. This hard-coded list only subscribes to the base constants, so pending/error state for those feeds will not surface on the Export row (and the parent accounting row mirrors the same pattern), even though the new selector lets users configure those feeds.
Useful? React with 👍 / 👎.
| const feedDomainID = card.fundID ?? CONST.DEFAULT_MISSING_ID; | ||
| const feedWithDomainID = getCardFeedWithDomainID(feedKey, feedDomainID); |
There was a problem hiding this comment.
Use the list domain when matching card overrides
Some workspace/company cards in WORKSPACE_CARDS_LIST can be stored without fundID, while the collection key already encodes the domain/feed. In that case this falls back to CONST.DEFAULT_MISSING_ID, builds a bank#-1 key, and drops the card from all custom Rillet export count/pending/error calculations, so users with those cards won't see their per-card overrides or failures on the new Rillet export pages.
Useful? React with 👍 / 👎.
Explanation of Change
Added Rillet-integration multiple account export pages
Fixed Issues
$ #94851
PROPOSAL:
Tests
Configure exporting to multiple accountstoggleCard program accountandPer-card accountCard program accountfor each programPer-card accountfor each cardRillet per-card account export)Screen.Recording.2026-07-14.at.9.28.36.PM.mov
Offline tests
Same as Tests
QA Steps
Same as Tests
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)Avatar, 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.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