Repository navigation
Deploy Checklist: New Expensify 2026-05-19 #91039
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.3.77-3
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:
- [No QA] HelpDot: add New Expensify domain groups doc (Release 4) #80275
- Fix unexpected error after deleting per diem split expense #85293
- Fix: force FlashList to use natural DOM order on web #85825
- fix: Report RHP is empty after merging expenses offline #87522
- [Payment due @ahmedGaber93] Add Go back just once option to Switch to Expensify Classic flow #89163
- Fix Plaid personal card showing generic art on details page #89217
- getReportNameRefactor - part 5 #89266
- Move pre-selected list items to top of list throughout the app #89584
- Follow up improvements for inline code blocks on iOS #89705
- fix: jump to existing workspaces tab instead of pushing new one #89750
- Allow all copilots to assign company cards #89797
- feat: Always show pay sub menu to confirm the payment method in search bulk pay #89804
- [No QA] Docs updates for E/A#85493 Add distance editing to Distance Expenses article #90012
- [No QA] Docs updates for E/A#88426 Add 2 MB file size limit to global reimbursement docs #90015
- Fix View payment history to show only billing owner's receipts #90106
- Migrate useSearchSelector.base.ts from useOptionsList to useCurrentUserPersonalDetails (part 1) #90127
- feat: Add "Download as PDF" option to Reports page bulk actions dropdown #90143
- Drop FlashList hidden-render workaround using initial scroll index #90218
- Add NetSuite Travel invoice reconciliation setting #90239
- [No QA] docs: update CONSISTENCY-5 to clarify eslint-disable vs SEATBELT_INCREASE #90297
- Fix excessive gap after Total column in expense report view #90301
- fix: prevent automatic unhold and approval of held expenses with multiple violations #90331
- [Performance] Dismiss-first navigation for all remaining expense submission paths #90347
- [No QA] Add Workspace Rooms page navigation under workspaceRoomsPage beta #90354
- [No QA] perf(ci): Upgrade gradle setup action #90380
- [No QA] fix storybook issues #90381
- [No QA] Update Global VaTax help pages to VAT IT branding #90391
- [No QA] [Payment due @dukenv0307] [No QA] Add Playroll integration help page #90394
- Stop using deprecated commands for accounting integrations Travel Invoicing #90400
- Hide redundant Reimbursable rows; show "· Non-reimbursable" on Amount #90411
- [No QA] Docs updates for E/A#88768 Add share option to saved searches docs #90427
- [No QA] Docs updates for E/A#90094 Add me keyword to assignee and attendee filters #90428
- [No QA] Docs updates for E/A#90076 Add retract and reopen to Copilot limited access exclusions #90437
- Default to Commercial feed for non-plaid countries #90446
- Disable lazy loading on search on web #90517
- Fix iOS - Expense - Pay button splits in half in landscape mode #90525
- [NoQA] Show Gusto sync results #90526
- fix: allow selecting report action text in Safari #90541
- [NoQA] Refine reviewer rules based on automated tracker feedback #90590
- Fix crash after selecting a group on the search page #90609
- [No QA]: refactor: move tax/category/distance/time setters from IOU/index.ts to MoneyRequest.ts #90647
- feat: [90250] add agent avatar functionality #90689
- Fix offline track distance expense header updates #90703
- [No QA] feat: Wire TriNet into HR feature toggle, beta gate, shared utils, and language strings #90723
- Settings-Security: fix link a11y label #90742
- perf: move toggleTransaction out of onSelectRow fn #90753
- Use non-compact style for New Workspace row in FAB menu #90757
- Bump Onyx to 3.0.71 [v2] #90764
- [No QA] feat: Add Zenefits action module and ConnectToZenefitsFlow component #90766
- Add total time to chronos timer #90787
- [No QA] Rename Central invoicing to Travel invoicing #90799
- [No QA] Migrate getUrlWithBackToParam from no-restricted-syntax to @deprecated #90837
- [NoQA] Show sync spinner immediately after Gusto setting changes #90857
- [NoQA] Use Classic approval mode values for Gusto #90868
- Allow plan type descriptions to wrap to two lines #90902
- fix: Composer not highlighted after editing message #90909
- Fix settings tags/categories URL redirecting to Inbox #90911
- [No QA] perf: replace lodash mapKeys with native loop in usePersonalDetailsByEmail #90944
- [NoQA] [HR Import] Add MERGE_HR consts, types, and provider map #90949
- [NoQA] [HR Import] Routes and screens for shared Merge HR pages #90960
- [No QA] Fix NetInfo ping URL inversion via microtask defer #90986
- [CP Staging] Revert "Fix: force FlashList to use natural DOM order on web" #91072
- [CP Staging] fixed no-imbursable row deploy blockers #91073
- [CP Staging] fix: deploy blocker #91087 — blank workspace page on invalid URL with RHP #91100
Mobile-Expensify PRs:
- https://github.com/Expensify/Mobile-Expensify/pull/13937
- https://github.com/Expensify/Mobile-Expensify/pull/13938
- https://github.com/Expensify/Mobile-Expensify/pull/13940
Internal QA:
Deploy Blockers:
- [Due for payment 2026-05-28] [Due for payment 2026-05-26] Expense - Missing Billable row when expense is non-reimbursable #91057
- Expense - “Amount · Non-reimbursable” does not appear immediately after deleting expense #91058
- [Due for payment 2026-05-28] [Due for payment 2026-05-26] Expense-Expense creation buttons are unresponsive on initial click #91059
- [Due for payment 2026-05-28] [Due for payment 2026-05-26] Workspace - Blank workspace details page opens in the background when link is invalid #91087
Chronologically ordered merged PRs (oldest first)
- Mobile-Expensify submodule update to
5a27a83— Adhoc Build
↳ https://github.com/Expensify/Mobile-Expensify/pull/13938 - [No QA] feat: Wire TriNet into HR feature toggle, beta gate, shared utils, and language strings #90723
- [No QA] feat: Add Zenefits action module and ConnectToZenefitsFlow component #90766
- feat: [90250] add agent avatar functionality #90689
- Add total time to chronos timer #90787
- Mobile-Expensify submodule update to
1eb9762— Adhoc Build
↳ https://github.com/Expensify/Mobile-Expensify/pull/13940 - Fix View payment history to show only billing owner's receipts #90106
- [No QA] Docs updates for E/A#85493 Add distance editing to Distance Expenses article #90012
- [NoQA] Show Gusto sync results #90526
- [No QA] perf(ci): Upgrade gradle setup action #90380
- Mobile-Expensify submodule update to
9.3.75-1— Adhoc Build - Bump Onyx to 3.0.71 [v2] #90764
- Use non-compact style for New Workspace row in FAB menu #90757
- [No QA] Migrate getUrlWithBackToParam from no-restricted-syntax to @deprecated #90837
- [No QA] Docs updates for E/A#88426 Add 2 MB file size limit to global reimbursement docs #90015
- [No QA] Rename Central invoicing to Travel invoicing #90799
- [No QA]: refactor: move tax/category/distance/time setters from IOU/index.ts to MoneyRequest.ts #90647
- [No QA] Docs updates for E/A#90094 Add me keyword to assignee and attendee filters #90428
- feat: Add "Download as PDF" option to Reports page bulk actions dropdown #90143
- [No QA] Docs updates for E/A#88768 Add share option to saved searches docs #90427
- Allow plan type descriptions to wrap to two lines #90902
- [No QA] Add Workspace Rooms page navigation under workspaceRoomsPage beta #90354
- Disable lazy loading on search on web #90517
- Fix Plaid personal card showing generic art on details page #89217
- perf: move toggleTransaction out of onSelectRow fn #90753
- Mobile-Expensify submodule update to
9.3.75-2— Adhoc Build - fix: prevent automatic unhold and approval of held expenses with multiple violations #90331
- Fix iOS - Expense - Pay button splits in half in landscape mode #90525
- [Performance] Dismiss-first navigation for all remaining expense submission paths #90347
- Migrate useSearchSelector.base.ts from useOptionsList to useCurrentUserPersonalDetails (part 1) #90127
- Fix settings tags/categories URL redirecting to Inbox #90911
- [No QA] perf: replace lodash mapKeys with native loop in usePersonalDetailsByEmail #90944
- Mobile-Expensify submodule update to
9.3.75-3— Adhoc Build - Drop FlashList hidden-render workaround using initial scroll index #90218
- feat: Always show pay sub menu to confirm the payment method in search bulk pay #89804
- Hide redundant Reimbursable rows; show "· Non-reimbursable" on Amount #90411
- Mobile-Expensify submodule update to
9.3.75-4— Adhoc Build - fix: jump to existing workspaces tab instead of pushing new one #89750
- [NoQA] [HR Import] Add MERGE_HR consts, types, and provider map #90949
- Allow all copilots to assign company cards #89797
- Mobile-Expensify submodule update to
9.3.75-5— Adhoc Build - Mobile-Expensify submodule update to
9.3.75-6— Adhoc Build - [NoQA] Refine reviewer rules based on automated tracker feedback #90590
- Decode category/tag strings before grouping in report layout #85603
- Fix offline track distance expense header updates #90703
- Add NetSuite Travel invoice reconciliation setting #90239
- [No QA] Update Global VaTax help pages to VAT IT branding #90391
- [No QA] Docs updates for E/A#90076 Add retract and reopen to Copilot limited access exclusions #90437
- getReportNameRefactor - part 5 #89266
- Fix: force FlashList to use natural DOM order on web #85825
- Mobile-Expensify submodule update to
9.3.75-7— Adhoc Build - Mobile-Expensify submodule update to
a7adfc8— Adhoc Build
↳ https://github.com/Expensify/Mobile-Expensify/pull/13937 - Stop using deprecated commands for accounting integrations Travel Invoicing #90400
- [NoQA] Use Classic approval mode values for Gusto #90868
- Mobile-Expensify submodule update to
9.3.75-8— Adhoc Build - [NoQA] Show sync spinner immediately after Gusto setting changes #90857
- [No QA] Fix NetInfo ping URL inversion via microtask defer #90986
- [NoQA] [HR Import] Routes and screens for shared Merge HR pages #90960
- Settings-Security: fix link a11y label #90742
- fix: Report RHP is empty after merging expenses offline #87522
- Mobile-Expensify submodule update to
9.3.75-9— Adhoc Build - [No QA] docs: update CONSISTENCY-5 to clarify eslint-disable vs SEATBELT_INCREASE #90297
- Fix unexpected error after deleting per diem split expense #85293
- Follow up improvements for inline code blocks on iOS #89705
- [No QA] HelpDot: add New Expensify domain groups doc (Release 4) #80275
- [Payment due @ahmedGaber93] Add Go back just once option to Switch to Expensify Classic flow #89163
- Mobile-Expensify submodule update to
9.3.75-10— Adhoc Build - Mobile-Expensify submodule update to
9.3.75-11— Adhoc Build - Fix crash after selecting a group on the search page #90609
- Mobile-Expensify submodule update to
9.3.75-12— Adhoc Build - Fix excessive gap after Total column in expense report view #90301
- fix: allow selecting report action text in Safari #90541
- [No QA] fix storybook issues #90381
- Mobile-Expensify submodule update to
9.3.75-13— Adhoc Build - [No QA] [Payment due @dukenv0307] [No QA] Add Playroll integration help page #90394
- Default to Commercial feed for non-plaid countries #90446
- Move pre-selected list items to top of list throughout the app #89584
- Mobile-Expensify submodule update to
9.3.75-14— Adhoc Build - fix: Composer not highlighted after editing message #90909
- Mobile-Expensify submodule update to
9.3.76-0— Adhoc Build - Mobile-Expensify submodule update to
9.3.77-0— 6e49ade - [CP Staging] fixed no-imbursable row deploy blockers #91073
- Mobile-Expensify submodule update to
9.3.77-1— ced944f - [CP Staging] Revert "Fix: force FlashList to use natural DOM order on web" #91072
- Mobile-Expensify submodule update to
9.3.77-2— d1cdb8f - [CP Staging] fix: deploy blocker #91087 — blank workspace page on invalid URL with RHP #91100
- Mobile-Expensify submodule update to
9.3.77-3— b3a83ce
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
Assignees
Labels
DailyKSv2KSv2StagingDeployCash🔐 LockCashDeploys 🔐Prevent new code from being deployed to stagingPrevent new code from being deployed to staging
Activity
izarutskaya commentedon May 19, 2026
Regression progress is at 55%
PRs Failing:
#89217 on Web with original issue ID #88241 Comment
#90239 on Web with #91067 & #90705 Pending validation on Native apps
#90689 on Web, Android with #91061 Pending validation on iOS
PRs Untested:
6 Web | 18 Android | 14 iOS
izarutskaya commentedon May 19, 2026
Regression progress is at 77%
PRs Failing:
#89217 on Web with original issue ID #88241 #89217 (comment)
#90239 on Web with #91067 & #90705 Pending validation on Native apps
#90689 on Web, Android with #91061 Pending validation on iOS
PRs Untested:
#85825 - #85825 (comment)
#89266 - pending validation on Web
#89750 - pending validation on Android, iOS
#89804 - pending validation on Android
#90106 - pending validation on all platforms
#90218 - pending validation on Android
#90239 - pending validation on Android, iOS
#90301 - pending validation on Android
#90331 - pending validation on Android
#90347 - pending validation on Android
#90400 - pending validation on all platforms
#90609 - pending validation on Android
#90689 - pending validation on iOS
#90703 - pending validation on iOS
#90742 (comment) - complete these steps. Checking it off the list
#90753 - pending validation on Android
#90757 - pending validation on Android
izarutskaya commentedon May 19, 2026
Regression is completed in BrowserStack
PRs Failing:
#89217 on Web with original issue ID #88241 #89217 (comment)
#90239 with #91067 & #90705 Comment
#90400 with #91067
#90689 with #91061
PRs Untested:
#85825 pending validation on Web
#89266 - question here
#89750 pending validation on Android
#89804 pending validation on Android
#90106 pending validation on Web, Android, iOS
#90347 pending validation on Android
izarutskaya commentedon May 19, 2026
Regression is completed
PRs Failing:
#85825 with original issue ID #86126. Comment here
#89217 checking it off the list according comment #89217 (comment)
#90239 with #91067 & #90705 Comment
#90400 with #91067
#90689 with #91061 Repro in prod, checking it off
PRs Untested:
#89266 - question here
#90347 - question here
Following critical test cases are failing:
Onboarding with #90550
Critical Viral Path with #48727
Expensify Card with #91077
Email Tests with #90141
roryabraham commentedon May 19, 2026