9.4.21-9
Expensify/App9.4.21-9Jun 29, 2026by github-actions[bot]
AI Summary
This release focuses on stability improvements for the Spend page and manual expense flow, alongside performance optimizations and migration of search selectors.
Key Highlights
- Fix 'Something went wrong' screen flash on failed spend query
- Migrate search selectors from useOptionsList to usePersonalDetailOptions
- Fix tax amount input overwriting in-progress edits in manual expense flow
- Enhance getChatRoomSubtitle function to accept conciergeReportID
New Features
- Add one-click copy button to code blocks in chat
- Remove Getting started slot from Home whenever all onboarding to-dos are complete
Full Release Notes
## What's Changed * [No QA] Fix missing submitterLogin in ReportWorkflowTest by @roryabraham in https://github.com/Expensify/App/pull/94630 * fix: prevent "Something went wrong" screen flash on failed spend query by @nabi-ebrahimi in https://github.com/Expensify/App/pull/93752 * Fix report preview approval policy flow by @KJ21-ENG in https://github.com/Expensify/App/pull/93876 * [No QA] Update approval types and backup approver details by @Christinadobrzyn in https://github.com/Expensify/App/pull/94350 * [No QA] Cleanup unused CONST fields by @shubham1206agra in https://github.com/Expensify/App/pull/93951 * [NO QA] Reduce unsafe type assertions in tests via createMock (batch 2) by @blimpich in https://github.com/Expensify/App/pull/94623 * Allow negative response to be reprompted after 30 days by @hungvu193 in https://github.com/Expensify/App/pull/94163 * [No QA] Remove feature training modal dead code by @jmusial in https://github.com/Expensify/App/pull/94599 * Migrate useSearchSelector.base.ts from useOptionsList to usePersonalDetailOptions (part 5) by @hoangzinh in https://github.com/Expensify/App/pull/94179 * [Performance] Resolve `destinationReportID` before confirmation mount in global-create by @JakubKorytko in https://github.com/Expensify/App/pull/94459 * [Payment due @mkhutornyi] Fix thread RHP not closing when parent message deleted from search pages by @WojtekBoman in https://github.com/Expensify/App/pull/94293 * Enhance getChatRoomSubtitle function to accept conciergeReportID by @cretadn22 in https://github.com/Expensify/App/pull/93547 * Fix #admin room visibility in LHN for Track Workspace onboarding by @emkhalid in https://github.com/Expensify/App/pull/94104 * Migrate domain members list to the new Table component by @Krishna2323 in https://github.com/Expensify/App/pull/94445 * [Home Page] Remove Getting started slot from Home whenever all onboarding to-dos are complete by @adamgrzybowski in https://github.com/Expensify/App/pull/94047 * Add one-click copy button to code blocks in chat by @MelvinBot in https://github.com/Expensify/App/pull/94337 * [cp staging] Fix Expense defaults tab crash from unstable selectedKeys. by @Krishna2323 in https://github.com/Expensify/App/pull/94695 * [NO QA] Surface Travel provisioning errors on the terms screen instead of failing silently by @blimpich in https://github.com/Expensify/App/pull/94074 * [Onyx bump] Bump react-native-onyx from 3.0.85 to 3.0.86 by @elirangoshen in https://github.com/Expensify/App/pull/94449 * Open linked message at top - 2 by @VickyStash in https://github.com/Expensify/App/pull/94671 * Fix tax amount input overwriting in-progress edits in new manual expense flow by @MelvinBot in https://github.com/Expensify/App/pull/94538 * Fix Y axis labels being cut off when intermediate values are longer than min and max by @mhawryluk in https://github.com/Expensify/App/pull/93817 * Refactor: flash list dom order improvement for simple lists by @sharabai in https://github.com/Expensify/App/pull/91605 * [Payment due @daledah] Add receipt-type filter on the Search (Spend) page by @allgandalf in https://github.com/Expensify/App/pull/94129 * Update the policy expensify card table to the new style by @luacmartins in https://github.com/Expensify/App/pull/93861 * [No QA] Rename Travel Invoicing to Consolidated Travel Billing (NewDot copy + help docs) by @blimpich in https://github.com/Expensify/App/pull/94626 * Delay FreezeWrapper freezing while a modal is still open by @emkhalid in https://github.com/Expensify/App/pull/94597 * Remove code that explicitly pushed to MFA outcome screens by @chuckdries in https://github.com/Expensify/App/pull/94103 * Fix: preserve iouType for invoice/pay when reselecting a participant on confirm page by @MelvinBot in https://github.com/Expensify/App/pull/94536 * Fix: referral banner appears behind Android navigation bar in manual expense flow by @MelvinBot in https://github.com/Expensify/App/pull/94539 * [No QA] Treat existing release as success in deploy create-release retry loop by @blimpich in https://github.com/Expensify/App/pull/94213 **Full Changelog**: https://github.com/Expensify/App/compare/9.4.20-1...9.4.21-9