9.4.21-9

fujiapple852/trippy9.4.21-9Jun 29, 2026by github-actions[bot]

AI Summary

This release includes a wide range of bug fixes, performance optimizations, and UI enhancements, focusing on report workflows, search functionality, and manual expense flows.

Key Highlights

  • Fixed 'Something went wrong' screen flash on failed spend queries
  • Added a one-click copy button to code blocks in chat
  • Enhanced the getChatRoomSubtitle function to accept conciergeReportID
  • Resolved tax amount input overwriting in-progress edits in manual expense flow

New Features

  • One-click copy button for code blocks in chat
  • Receipt-type filter on the Search (Spend) page
  • Allow negative response to be reprompted after 30 days
  • Enhanced subtitle function to accept conciergeReportID

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