Repository navigation
Deploy Checklist: New Expensify 2026-06-09 #92988
Copy link
Copy link
Closed
Labels
DailyKSv2KSv2StagingDeployCash🔐 LockCashDeploys 🔐Prevent new code from being deployed to stagingPrevent new code from being deployed to staging
Description
Release Version: 9.4.1-6
Compare Changes: production...staging
Mobile-Expensify Changes: https://github.com/Expensify/Mobile-Expensify/compare/production...staging
This release contains changes from the following pull requests:
- feat: Gather KYB documents when verification fails for USD BA's #76033
- Refactor ConfirmModal usage to useConfirmModal in workspace accounting and general pages (Part 1) #77919
- Fix: Incorrect system message when setting amount before the image is scanned #81666
- Fix keyboard reordering by restoring focus on sortable wrapper #85474
- Fix wallet blank screen when tapping back after enabling wallet #90139
- Trimming Whitespace Bank Account Details #90288
- refactor getReportPreviewMessage to use conciergeReportID from useOnyx only when isCopyAction is true #90405
- Hide Payer row during incomplete bank account setup #90538
- Stop auto-selecting first account and vendor when changing QBD export type #90720
- Open keyboard automatically on Android magic code screen #90771
- Improve line and pie chart styling #90781
- [Payment due @suneox] [No QA] Rename "Setup Specialist" to "Account Executive" #90924
- Fix workspaces list flash on narrow when creating a workspace #91062
- [No QA] Docs updates for E/A#90796 Remove submitter from Change Workspace on submitted reports #91131
- Skip onboarding for invited workspace members #91195
- Remove Onyx.connect() usage for ONYXKEYS.COLLECTION.TRANSACTION_VIOLATIONS as allTransactionViolation from src/libs/actions/IOU/Transaction.ts #91210
- Implement stable two-section chat switcher results (local + server) #91282
- Refactor IOURequestStepMerchant to handle empty merchant input and cl… #91307
- fix: remove deprecatedReportsTransactions in hasEmptyReportsForPolicy #91308
- [No QA] Docs updates for E/A#90936 Update wallet Cards section label in help docs #91364
- [No QA] Docs updates for E/A#87750 Add FAQ for pending card transaction submit error #91476
- Add expense export columns #91501
- Remove getPersonalDetailsByIDs from createTaskAndNavigate #91565
- [NO QA] Adopt shared postCodeReviewResults.sh in claude-review #91689
- [No QA] Add search keyword synonyms for help site discoverability #91789
- [No QA] Docs updates for E/A#90978 Update Home Overview for deactivated and pending cards #91869
- [No QA] Docs updates for E/A#84382 Add split support for unreported expenses #91944
- [Payment due @thelullabyy] Use address country instead of nationality to require proof of address document #91998
- Don't disable AI prompt Save button when offline #92102
- Victory Native: Add padAngle + Label indicator #92130
- fix: pass workspace policyID when exporting with account-level custom templates #92131
- fix: prevent download button flash when opening broken image attachment v2 #92164
- refactor canModifyHoldStatus and getReportFieldsByPolicyID functions #92174
- [No QA] Docs updates for E/A#90204 reflect new Domains tab and empty state #92317
- [NO QA] perf(search): add FirstPaint/ContentLoad telemetry spans for navigate-to-reports #92382
- [No QA] Docs updates for E/A#90204 Reflect new Workspaces and Domains tab navigation #92438
- [Payment due @shubham1206agra] Add time tracking to bulk copy workspace settings #92449
- [No QA] Docs updates for E/A#91717 QBO vendor bill available with report field locations #92457
- [No QA] Docs updates for E/A#91255 document MCP OAuth connections in Device management #92458
- [Payment due @situchan] Render a thinking indicator per agent in mixed Concierge + custom-agent rooms #92470
- chore: upgrade airship to 26.5.0 #92497
- chore: upgrade
react-native-blob-utilto 0.24.9 #92509 - chore: upgrade
react-native-svgto 15.15.5 #92524 - feat: show full distance e-receipt on hover for map distance requests #92525
- Use standard header on Referral page and remove it from PAGE_THEMES #92586
- fix border radius scale and style in victory chart #92613
- [No QA] feat(vcr): wire XML input to PNG via in-app Victory renderers #92619
- [No QA] Docs updates for E/A#92029 link travel expense to its trip #92632
- Fix onboarding null initial path crash #92646
- Fix bulk delete of unreported expenses silently skipping all deletions #92682
- [No QA] Update HOW_TO_BECOME_A_BACKEND_CONTRIBUTOR.md #92724
- Show reject educational modal for report-level reject #92725
- Fix agent approver row flicker on reconnect after adding agent offline #92738
- Fix focus-trap crash when a bottom-docked modal's initialFocus ref is null (Sentry APP-C26) #92747
- fix: cursor focuses at the beginning of the text after removing expense from report #92772
- [NOQA] perf: narrow mount-time work in IOURequestStepAmount #92775
- Remove inline-flex from comment anchors and reset chat row text alignment #92776
- Fix: Filter Expensify team members and invoice display in Copy/Duplicate flows #92777
- [NO QA] Enable @typescript-eslint/no-unsafe-type-assertion ESLint rule #92833
- Remove getAllReportActionsFromIOU function in getIOUReportActionWithBadge and getReportPreviewAction #92852
- Show actual plan name on workspace upgrade success page #92869
- Upgrade Submit workspaces to the plan tier required by the unlocked feature #92872
- [NO QA] Upgrade codecov-action to v7.0.0 to restore CLI GPG verification #92884
- Fix unresponsive Learn more link in Wallet import transactions flow #92888
- Part 2: Remove Onyx.connect() for the key: ONYXKEYS.COLLECTION.TRANSACTION_VIOLATIONS in src/libs/actions/IOU.ts #92896
- Fix browser back closing Copy Settings All Set modal #92901
- [Submit] Correct group policy check for isSubmitAction #92909
- [CP Staging] Category list loads infinitely when creating expense form FAB #92912
- Fix CMD+B opening wrong workspace after moving an expense report #92913
- [No QA] Update createWorkspaceFromIOUPayment test #92955
- fix: hide ScrollView scrollbar in HR sync results modal to prevent title reflow #92963
- [NO QA] Add no-unsafe-type-assertion baseline rows for server/ files (post-merge cleanup) #92967
- [CP Staging] Revert "Fix workspaces list flash on narrow when creating a workspace" #93017
- [CP Staging] Revert "feat: show full distance e-receipt on hover for map distance requests" #93021
- [CP Staging] Revert "chore: upgrade
react-native-svgto 15.15.5" #93033 - [CP Staging] Revert "Remove inline-flex from comment anchors and reset chat row text alignment" #93071
- Revert "fix: pass workspace policyID when exporting with account-level custom templates" #93091
Mobile-Expensify PRs:
- https://github.com/Expensify/Mobile-Expensify/pull/13960
- https://github.com/Expensify/Mobile-Expensify/pull/13964
- https://github.com/Expensify/Mobile-Expensify/pull/13966
- https://github.com/Expensify/Mobile-Expensify/pull/13969
Internal QA:
- Skip checklist CI checks for internal engineers regardless of org-membership visibility #92972 - @roryabraham
- Skip the checklist CI checks when an internal engineer writes or approves a PR #92746 - @roryabraham
- Clear stale SW caches before reloading on ChunkLoadError #92339 - @mountiny
- [Payment due @mkhutornyi] Vendor matching CC - R1: App Phase 2 (Default vendor row) #91880 - @marcochavezf
Deploy Blockers:
- [Due for payment 2026-07-13] Android & iOS - Workspace - Workspace settings opens after delay after creating a workspace #93000
- [Due for payment 2026-06-17] [Due for payment 2026-06-17] Distance - Full receipt appears when hovered over odometer receipt #93001
- [Due for payment 2026-07-13] iOS - Workspace - Unable to swipe back to return to previous page after creating a workspace #93003
- [Due for payment 2026-06-17] [Due for payment 2026-06-17] Distance - Only the map appears when hovered after closing RHP #93004
- [Due for payment 2026-06-17] [Due for payment 2026-06-17] Native share - App crashes when sharing image to Expensify app from device gallery #93006
- Agents - Thinking indicator shows Concierge in agent's chat #93007
- [Due for payment 2026-06-22] Search - User in Recent chats section is not highlighted #93009
- [Due for payment 2026-06-17] [Due for payment 2026-06-17] Distance - Previous map receipt appears on hover after editing distance offline #93010
- Spend - Category GL code title on the table is truncated #93015
- Web - Spend - "Tax Code" field is not updated after editing code of selected tax rate. #93016
- Expense - CMD+B on IOU report opens not here page #93019
- [Due for payment 2026-06-17] [$250] Currency RHP doesn't open when pressing "Update workspace currency" #93062
- Expense - Long email is centered in description field #93068
- Workspace - The currency is not displayed for Time in the Copy workspace settings #93080
- Export - Custom export template file is not delivered to Concierge #93088
Chronologically ordered merged PRs (oldest first)
- Hide Payer row during incomplete bank account setup #90538
- Remove inline-flex from comment anchors and reset chat row text alignment #92776
- Fix agent approver row flicker on reconnect after adding agent offline #92738
- Stop auto-selecting first account and vendor when changing QBD export type #90720
- Don't disable AI prompt Save button when offline #92102
- [Payment due @suneox] [No QA] Rename "Setup Specialist" to "Account Executive" #90924
- Victory Native: Add padAngle + Label indicator #92130
- Skip the checklist CI checks when an internal engineer writes or approves a PR #92746
- chore: upgrade
react-native-blob-utilto 0.24.9 #92509 - Mobile-Expensify submodule update to
556a20d— Adhoc Build
↳ https://github.com/Expensify/Mobile-Expensify/pull/13964 - Refactor ConfirmModal usage to useConfirmModal in workspace accounting and general pages (Part 1) #77919
- Implement stable two-section chat switcher results (local + server) #91282
- Fix: Incorrect system message when setting amount before the image is scanned #81666
- [No QA] Docs updates for E/A#87750 Add FAQ for pending card transaction submit error #91476
- Trimming Whitespace Bank Account Details #90288
- fix: prevent download button flash when opening broken image attachment v2 #92164
- [Payment due @mkhutornyi] Vendor matching CC - R1: App Phase 2 (Default vendor row) #91880
- Mobile-Expensify submodule update to
9.4.0-1— Adhoc Build - [No QA] Update HOW_TO_BECOME_A_BACKEND_CONTRIBUTOR.md #92724
- Fix: Filter Expensify team members and invoice display in Copy/Duplicate flows #92777
- Skip onboarding for invited workspace members #91195
- Fix wallet blank screen when tapping back after enabling wallet #90139
- refactor canModifyHoldStatus and getReportFieldsByPolicyID functions #92174
- Mobile-Expensify submodule update to
9.4.0-2— Adhoc Build - Fix onboarding null initial path crash #92646
- fix: cursor focuses at the beginning of the text after removing expense from report #92772
- Fix focus-trap crash when a bottom-docked modal's initialFocus ref is null (Sentry APP-C26) #92747
- fix: pass workspace policyID when exporting with account-level custom templates #92131
- Upgrade Submit workspaces to the plan tier required by the unlocked feature #92872
- [No QA] Docs updates for E/A#90204 reflect new Domains tab and empty state #92317
- Show actual plan name on workspace upgrade success page #92869
- Clear stale SW caches before reloading on ChunkLoadError #92339
- chore: upgrade airship to 26.5.0 #92497
- Fix workspaces list flash on narrow when creating a workspace #91062
- Mobile-Expensify submodule update to
9a6f6b8— Adhoc Build
↳ https://github.com/Expensify/Mobile-Expensify/pull/13960 - Fix keyboard reordering by restoring focus on sortable wrapper #85474
- [No QA] Docs updates for E/A#84382 Add split support for unreported expenses #91944
- Refactor IOURequestStepMerchant to handle empty merchant input and cl… #91307
- fix: remove deprecatedReportsTransactions in hasEmptyReportsForPolicy #91308
- Remove getPersonalDetailsByIDs from createTaskAndNavigate #91565
- [NO QA] Adopt shared postCodeReviewResults.sh in claude-review #91689
- Remove getAllReportActionsFromIOU function in getIOUReportActionWithBadge and getReportPreviewAction #92852
- Remove Onyx.connect() usage for ONYXKEYS.COLLECTION.TRANSACTION_VIOLATIONS as allTransactionViolation from src/libs/actions/IOU/Transaction.ts #91210
- Open keyboard automatically on Android magic code screen #90771
- [No QA] Docs updates for E/A#90204 Reflect new Workspaces and Domains tab navigation #92438
- [CP Staging] Category list loads infinitely when creating expense form FAB #92912
- Use standard header on Referral page and remove it from PAGE_THEMES #92586
- [NO QA] Upgrade codecov-action to v7.0.0 to restore CLI GPG verification #92884
- Fix bulk delete of unreported expenses silently skipping all deletions #92682
- fix border radius scale and style in victory chart #92613
- feat: show full distance e-receipt on hover for map distance requests #92525
- refactor getReportPreviewMessage to use conciergeReportID from useOnyx only when isCopyAction is true #90405
- [No QA] Update createWorkspaceFromIOUPayment test #92955
- [Submit] Correct group policy check for isSubmitAction #92909
- feat: Gather KYB documents when verification fails for USD BA's #76033
- Part 2: Remove Onyx.connect() for the key: ONYXKEYS.COLLECTION.TRANSACTION_VIOLATIONS in src/libs/actions/IOU.ts #92896
- Fix CMD+B opening wrong workspace after moving an expense report #92913
- Mobile-Expensify submodule update to
9.4.0-3— Adhoc Build - Improve line and pie chart styling #90781
- [No QA] feat(vcr): wire XML input to PNG via in-app Victory renderers #92619
- Mobile-Expensify submodule update to
9.4.0-4— Adhoc Build - [NO QA] Enable @typescript-eslint/no-unsafe-type-assertion ESLint rule #92833
- [No QA] Docs updates for E/A#92029 link travel expense to its trip #92632
- [NO QA] perf(search): add FirstPaint/ContentLoad telemetry spans for navigate-to-reports #92382
- [No QA] Docs updates for E/A#90796 Remove submitter from Change Workspace on submitted reports #91131
- [No QA] Add search keyword synonyms for help site discoverability #91789
- [No QA] Docs updates for E/A#91717 QBO vendor bill available with report field locations #92457
- [NO QA] Add no-unsafe-type-assertion baseline rows for server/ files (post-merge cleanup) #92967
- Fix browser back closing Copy Settings All Set modal #92901
- chore: upgrade
react-native-svgto 15.15.5 #92524 - Mobile-Expensify submodule update to
d5d64cb— Adhoc Build
↳ https://github.com/Expensify/Mobile-Expensify/pull/13966 - [No QA] Docs updates for E/A#90978 Update Home Overview for deactivated and pending cards #91869
- Mobile-Expensify submodule update to
9.4.0-5— Adhoc Build - [Payment due @thelullabyy] Use address country instead of nationality to require proof of address document #91998
- [Payment due @shubham1206agra] Add time tracking to bulk copy workspace settings #92449
- fix: hide ScrollView scrollbar in HR sync results modal to prevent title reflow #92963
- Skip checklist CI checks for internal engineers regardless of org-membership visibility #92972
- Mobile-Expensify submodule update to
9.4.0-6— Adhoc Build - [No QA] Docs updates for E/A#91255 document MCP OAuth connections in Device management #92458
- [No QA] Docs updates for E/A#90936 Update wallet Cards section label in help docs #91364
- Fix unresponsive Learn more link in Wallet import transactions flow #92888
- Mobile-Expensify submodule update to
9.4.0-7— Adhoc Build - Add expense export columns #91501
- Show reject educational modal for report-level reject #92725
- [Payment due @situchan] Render a thinking indicator per agent in mixed Concierge + custom-agent rooms #92470
- [NOQA] perf: narrow mount-time work in IOURequestStepAmount #92775
- Mobile-Expensify submodule update to
9.4.1-0— Adhoc Build - [CP Staging] Revert "Fix workspaces list flash on narrow when creating a workspace" #93017
- Mobile-Expensify submodule update to
9.4.1-1— 02cc4c7 - [CP Staging] Revert "feat: show full distance e-receipt on hover for map distance requests" #93021
- Mobile-Expensify submodule update to
9.4.1-2— 4c277fb - Mobile-Expensify submodule update to
9.4.1-3— e54a249 - Mobile-Expensify submodule update to
include cherry-picked PR #13969— 72aa0b1
↳ https://github.com/Expensify/Mobile-Expensify/pull/13969 - [CP Staging] Revert "chore: upgrade
react-native-svgto 15.15.5" #93033 - Mobile-Expensify submodule update to
9.4.1-4— 1af762f - [CP Staging] Revert "Remove inline-flex from comment anchors and reset chat row text alignment" #93071
- Mobile-Expensify submodule update to
9.4.1-5— e686bc3 - Revert "fix: pass workspace policyID when exporting with account-level custom templates" #93091
- Mobile-Expensify submodule update to
9.4.1-6— ba4e9ed
Deployer verifications:
- I checked Sentry for this release version and verified that this release does not introduce any new crashes. More detailed instructions on this verification can be found here.
- I checked Sentry for the previous release version and verified that the release did not introduce any new crashes. Because mobile deploys use a phased rollout, completing this checklist will deploy the previous release version to 100% of users. More detailed instructions on this verification can be found here.
- I checked GitHub Status and verified there is no reported incident with Actions.
cc @Expensify/applauseleads
Reactions are currently unavailable
Metadata
Metadata
Labels
DailyKSv2KSv2StagingDeployCash🔐 LockCashDeploys 🔐Prevent new code from being deployed to stagingPrevent new code from being deployed to staging
Activity
izarutskaya commentedon Jun 9, 2026
Regression progress is at 76%
PRs Failing:
#92497 faced on Android with #93027
PRs Untested:
8 Web | 14 Android | 40 iOS pending validation
Valforte commentedon Jun 9, 2026
Demoting #93009
izarutskaya commentedon Jun 9, 2026
Regression progress is at 96%
PRs Failing:
#92497 faced on Android with #93027 Repro in Prod, checking it off
PRs Untested:
#92869 - checking it off the list #92869 (comment)
#92613 - #92613 (comment)
Several still pending validation: Web 7 | Android 14 | iOS 35
chuckdries commentedon Jun 9, 2026
Checked off #93016 as we demoted it from a deployblocker
roryabraham commentedon Jun 9, 2026
Demoting #93019 - it's a hidden feature so I think it's ok if it doesn't work perfectly in all edge cases
izarutskaya commentedon Jun 9, 2026
Regression is completed in BrowserStack:
PRs Failing:
#91565 faced on Android with #93082 Repro in Prod, checking it off
#92131 with #93088
#92449 with #93080
PRs Untested:
#90139 - pending validation on iOS
#90720 - pending validation on iOS
#90781 - pending validation on iOS
#91195 - pending validation on Android
#91880 - internal https://github.com/Expensify/App/pull/91880#issuecomment-4661200363
#92130 - pending validation on Web
Following critical test cases are failing:
Travel - #79188 (comment)
Critical Viral Path with #48727
Onboarding with #90550
izarutskaya commentedon Jun 9, 2026
#91195 - checked it off
#92130 - #92130 (comment)
Julesssss commentedon Jun 9, 2026
Just waiting on these two
m-natarajan commentedon Jun 9, 2026
@Julesssss #90139 failing on iOS with original fixed issue
https://platform.applause.com/services/links/v1/external/e5480d8233e4a9ed7656fae1d534e38f4dae17fde3b9ccecbcde279520ac1248
Julesssss commentedon Jun 9, 2026
@m-natarajan could you please clarify this ^. What is failing on #90139, if the original issue is fixed?
m-natarajan commentedon Jun 9, 2026
@Julesssss Blank page observed with new expensifail account. Commented here
Julesssss commentedon Jun 10, 2026
Julesssss commentedon Jun 10, 2026