You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Campfire - Unable to clear the custom account after selecting it #102721
Version Number: 9.5.0-0 Reproducible in staging?: Yes Reproducible in production?: N/A - new feature, doesn't exist in prod If this was caught during regression testing, add the test name, ID and link from BrowserStack:#102410 Email or phone of affected tester (no customers): n/n Issue reported by: Applause Internal Team Bug source: Pull Request QA execution Device used: Mac 26.5.1 Safari, iPhone 13 iOS 26.6 App Component: Workspace Settings
Action Performed:
Precondition:Have a workspace with multiple assigned cards from different feeds (e.g. a Expensify Card and a Company Card)
Have Campfire integration connected to workspace
👋 Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open `StagingDeployCash` deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:
Identify the pull request that introduced this issue and revert it.
Recommendation: demote to a follow-up. Don't revert. This is a new feature behind the Campfire integration, so it isn't in production. There's no data-loss or payment risk.
Likely explanation: Clearing works, but only by picking the "Default - …" row at the top of the list. Tapping the custom account that is already selected does nothing; the page just closes. That matches "unable to deselect." DualEntry and Rillet already use the same pattern.
Next step: Ask the tester whether they tried the "Default - …" row.
If that row cleared the account, close this issue or treat it as a UX follow-up.
If the custom account came back, the cause is likely on the backend. A separate internal investigation is needed.
Real gap that could explain the report: No row gets the Default label in either of these cases, so the custom account can't be cleared:
On the program screen, the workspace "Company card account" is unset, or the filter at L67-L71 removes it because it's inactive or isn't a credit card or bank account.
On the per-card screen, the program's account isn't selectable.
Suggested follow-up fix: Ideally, change the shared pattern so DualEntry and Rillet get the fix too.
Always show a clear option when a custom account is set. Use a "Default" row even when the default account is filtered out, or add a "None / use default" row.
Optionally, let a tap on the selected custom row clear it instead of doing nothing at L99.
Reach: Campfire shows only for the campfire beta or for workspaces already connected to Campfire (PolicyAccountingPage.tsx L144).
Limitation: I couldn't view the Applause video, so I can't confirm which row the tester tapped.
Next Steps: Reply with @MelvinBot <your feedback> to refine this analysis.
Activity
applause-bot commentedon Oct 1, 2026
While Applause doesn't embed attachments for this bug, here are the links for quick view:
https://platform.applause.com/services/links/v1/external/b4abc337038018ee57790bbe66df00bdd68c648bfe5f75ea6d5d3d5b7dc4239c
melvin-bot commentedon Oct 1, 2026
@lakchote recently merged #102410, but they are OOO right now, so I'll auto-assign someone else.
melvin-bot commentedon Oct 1, 2026
Triggered auto assignment to @blimpich (
DeployBlockerCash), see https://stackoverflowteams.com/c/expensify/questions/9980/ for more details.github-actions commentedon Oct 1, 2026
👋 Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open `StagingDeployCash` deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:
melvin-bot commentedon Oct 1, 2026
@lakchote @truph01 you have been assigned to this deploy blocker because you reviewed the offending PR: #102410
melvin-bot commentedon Oct 1, 2026
@s77rt you have been assigned to this deploy blocker because you authored the offending PR: #102410
melvin-bot commentedon Oct 1, 2026
💬 A slack conversation has been started in #expensify-open-source
MelvinBot commentedon Oct 1, 2026
Deploy Blocker Investigation
Causing PR: Add Campfire multiple card account export settings (
Expensify/App#102410) added both screens. It is in the open Deploy Checklist: New Expensify 2026-09-30.Recommendation: demote to a follow-up. Don't revert. This is a new feature behind the Campfire integration, so it isn't in production. There's no data-loss or payment risk.
Likely explanation: Clearing works, but only by picking the "Default - …" row at the top of the list. Tapping the custom account that is already selected does nothing; the page just closes. That matches "unable to deselect." DualEntry and Rillet already use the same pattern.
Next step: Ask the tester whether they tried the "Default - …" row.
Investigation details
Card program account: CampfireCardProgramAccountSelectorPage.tsx
'', which clears the custom account (Campfire.ts L533).Per-card account: utils.tsx L169-L180 gives the program account's row the "Default - …" label and the value
''. That value is passed through DynamicWorkspaceCompanyCardAccountSelectCardPage.tsx L94-L103 and clears the card's custom account in CompanyCards.ts L924-L925.Real gap that could explain the report: No row gets the Default label in either of these cases, so the custom account can't be cleared:
Suggested follow-up fix: Ideally, change the shared pattern so DualEntry and Rillet get the fix too.
Reach: Campfire shows only for the
campfirebeta or for workspaces already connected to Campfire (PolicyAccountingPage.tsx L144).Limitation: I couldn't view the Applause video, so I can't confirm which row the tester tapped.
Next Steps: Reply with
@MelvinBot <your feedback>to refine this analysis.view run
Julesssss commentedon Oct 1, 2026
New feature so don't think this needs to block, asking in Slack.
blimpich commentedon Oct 1, 2026
this is behind a beta so not a blocker
lakchote commentedon Oct 2, 2026
@s77rt can you take a look at this one please? Looks like it affects DualEntry and Rillet too.
s77rt commentedon Oct 2, 2026
There is no bug here. This is working as expected, to clear the selection you should select the
Defaultoption at the topScreen.Recording.2026-10-02.at.7.29.39.AM.mov