9.4.20-1

triggerdotdev/trigger.dev9.4.20-1Jun 26, 2026by github-actions[bot]

AI Summary

This release addresses numerous UI and UX issues, including input focus handling, video player controls, and performance improvements for expense search functionality.

Key Highlights

  • Fixes input focus when dismissing keyboard
  • Fixes video player full screen controls and responsiveness
  • Fixes duplicate error messages on expense confirmation
  • Performance improvements for expense search views

New Features

  • Integration of ExportDownloadStatusModal into CSV export flow
  • Updated workspace members table styling

Full Release Notes

## What's Changed
* Hide Print secondary action for reports in the Open state by @wildan-m in https://github.com/Expensify/App/pull/92885
* Update the workspace members table to the new style by @JS00001 in https://github.com/Expensify/App/pull/91746
* Remap shortcuts for opening policy and report by @iwiznia in https://github.com/Expensify/App/pull/94155
* Fix: keep input focus by dismissing keyboard only when IOU type actually changes by @MelvinBot in https://github.com/Expensify/App/pull/94412
* [No QA] Create Find-Rooms-in-a-Workspace.md by @stephanieelliott in https://github.com/Expensify/App/pull/93992
* Guard DeepLinkHandler against stale post-sign-out initial URL by @MobileMage in https://github.com/Expensify/App/pull/92839
* Rename onboarding task copy from "Submit an expense" to "Create an expense" by @MelvinBot in https://github.com/Expensify/App/pull/93961
* feat: Integrate ExportDownloadStatusModal into report-level CSV export flow by @truph01 in https://github.com/Expensify/App/pull/93796
* Show complete Certinia bundle instructions by @ShridharGoel in https://github.com/Expensify/App/pull/94414
* [No QA] Fix flaky NewChatPage test by @MonilBhavsar in https://github.com/Expensify/App/pull/94475
* [Payment due @daledah] [No QA] Explicitly opt out from backups on iOS by @mateuuszzzzz in https://github.com/Expensify/App/pull/93586
* [Part 1] Onyx.connect removal for CurrencyUtils by @ShridharGoel in https://github.com/Expensify/App/pull/83804
* Remove Tags page header max width by @luacmartins in https://github.com/Expensify/App/pull/94516
* perf: Search S5 ExpenseFlatSearchView + primitives by @BartekObudzinski in https://github.com/Expensify/App/pull/94426
* fix: show contact names instead of phone numbers in imported contact lists by @aswin-s in https://github.com/Expensify/App/pull/91395
* [CP Staging] Fix independent tags not sorting by name by @luacmartins in https://github.com/Expensify/App/pull/94509
* [CP Staging] Revert #93402 - 83858 migrate money request part 3 v2 by @mjasikowski in https://github.com/Expensify/App/pull/94555
* Keep focus on distance field on error by @Gonals in https://github.com/Expensify/App/pull/94566
* [CP Staging] Revert "Add currency selector to Search footer total spend" by @mountiny in https://github.com/Expensify/App/pull/94562
* [Payment due @marufsharifi] Honor the selected bank account when paying an expense report from the report preview by @KioCoan in https://github.com/Expensify/App/pull/93110
* Show work-email warning before legal-name step for personal-email travel users by @MelvinBot in https://github.com/Expensify/App/pull/94529
* Fix: Video - Video is not playing in full screen, no controls, app is unresponsive by @annaweber830 in https://github.com/Expensify/App/pull/82324
* Remove Onyx.connect() for the RAM_ONLY_ARE_TRANSLATIONS_LOADING key part 1 by @daledah in https://github.com/Expensify/App/pull/91996
* Fix money request not found RHP fallback by @KJ21-ENG in https://github.com/Expensify/App/pull/93875
* fix: KYC flow doesn't trigger after adding bank account when paying another user by @samranahm in https://github.com/Expensify/App/pull/92154
* [No QA] Cancel ManualOpenSearchRouter telemetry span when the search router is closed by @jakubkalinski0 in https://github.com/Expensify/App/pull/94472
* Soft-log missing ViewState in addViewAt to fix Fabric mount crash by @lorretheboy in https://github.com/Expensify/App/pull/94095
* Replace getDisplayNameOrDefault with temporaryGetDisplayNameOrDefault  by @cretadn22 in https://github.com/Expensify/App/pull/94302
* Prevent loading older chats while hidden history is shown by @VickyStash in https://github.com/Expensify/App/pull/94444
* Collapse in-flight reconnects by coverage to close the SequentialQueue dedup gap by @adhorodyski in https://github.com/Expensify/App/pull/94210
* Remove getLoginByAccountID usages from getSubmitReportManagerAccountID and prepareRejectMoneyRequestData by @bernhardoj in https://github.com/Expensify/App/pull/92629
* [No QA] Add web crash diagnostics to detect abnormal browser session exits by @sosek108 in https://github.com/Expensify/App/pull/94201
* [NO QA] Reduce unsafe type assertions in tests via createMock helper by @blimpich in https://github.com/Expensify/App/pull/92979
* Rework search input to be a keyword search only by @bernhardoj in https://github.com/Expensify/App/pull/93543
* Fix regressions from  [Rules Revamp] Release 1 by @Krishna2323 in https://github.com/Expensify/App/pull/94478
* [Payment due @bernhardoj] Update Home announcements widget with June 2026 product update by @MelvinBot in https://github.com/Expensify/App/pull/94502
* Part 3: Refactor ConfirmModal usage to useConfirmModal in workspace accounting and general pages  by @thelullabyy in https://github.com/Expensify/App/pull/93633
* [CP Staging] Fix tag selection mode on RHP by @luacmartins in https://github.com/Expensify/App/pull/94600
* [GPS] Add custom compass to GPSMapView by @GCyganek in https://github.com/Expensify/App/pull/94284
* [CBN] Refactor EnablePayments flow by @VickyStash in https://github.com/Expensify/App/pull/92779
* Show date change in system message when a distance date edit also changes the rate by @c3024 in https://github.com/Expensify/App/pull/94556
* Move from a boolean flag to a timestamp for ResendValidateCode gate by @chuckdries in https://github.com/Expensify/App/pull/93301
* [Payment due @brunovjk] Surface RuleBot in the Agent rules section by @yuwenmemon in https://github.com/Expensify/App/pull/94131
* Android & iOS - Expense - Description field is not visible when focused by @thelullabyy in https://github.com/Expensify/App/pull/94398
* Fix Spend tab flash when backing out of manual expense from Workspaces tab by @MelvinBot in https://github.com/Expensify/App/pull/94515
* Fix duplicate "This field is required" error on manual expense confirmation by @MelvinBot in https://github.com/Expensify/App/pull/94513
* Migrate InteractionManager - batch 3 part 3 by @mrejdak in https://github.com/Expensify/App/pull/94040
* fix: report unread by @annaweber830 in https://github.com/Expensify/App/pull/91940
* Block submitter self-approval Approve badge on Submit workspaces by @MelvinBot in https://github.com/Expensify/App/pull/94553
* [No QA] Move sentry size analysis upload to deploy step by @rinej in https://github.com/Expensify/App/pull/94039


**Full Changelog**: https://github.com/Expensify/App/compare/9.4.19-5...9.4.20-1