Show a Pending status for Expensify Cards awaiting issue or activation - #101399
marufsharifi wants to merge 1 commit into
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 bun ./scripts/generateTranslations.ts --helpTypically, you'd want to translate only what you changed by running |
|
@mkhutornyi 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] |
|
🚧 flaviadefaria 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! 🧪🧪
|

Explanation of Change
A newly issued Expensify Card sits in one of two setup states before it can be used: waiting to be issued, and waiting for the cardholder to activate it. In both, the wallet showed the card as
Active- right next to the prompt asking the user to finish setting it up. The status said the card was ready while the row told them it wasn't.The wallet only knew whether a card was suspended, and treated everything else as active.
Expensify Cards now report one of three statuses:
Pendingwhile the card is waiting to be issued or activatedInactiveonce the back end has suspended itActivewhen it can be spent onSuspended is checked first, so a card that has been turned off never reads as merely waiting. Frozen cards, company cards and personal cards are unchanged.
The status is based on the card's state, so a virtual card awaiting activation reads
Pendingas well.Fixed Issues
$ #99971
PROPOSAL:
Tests
STATE_NOT_ISSUED.Pendingbadge rather thanActive.NOT_ACTIVATED, and verify it still showsPending.Active.Inactive.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 stepssectionAvatar, 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