9.4.62-4

charmbracelet/gum9.4.62-4Aug 27, 2026by github-actions[bot]

AI Summary

This is a maintenance release for the Expensify app focusing on performance optimizations, UI stability fixes (specifically regarding Concierge prompts and workspace interactions), and architectural refactoring of TypeScript configurations and OnyxUtils.

Key Highlights

  • Performance improvements including selective data fetching and write-readiness barriers
  • UI fixes for Concierge prompt boxes, workspace tag toggles, and Android upload thumbnails
  • Typography updates with semantic type tokens
  • Refactoring of tsconfig projects and migration of OnyxUtils usage

New Features

  • Display of auto-approval limit notices
  • Standardization of Expense Report headers and button placement
  • Allowing setting and displaying approval workflows with new structure
  • Display of short date labels on chart X axis

Full Release Notes

## What's Changed
* [No QA] Clean up tsconfig projects to split by runtime rather than directory by @roryabraham in https://github.com/Expensify/App/pull/99354
* [Typography] Add semantic type tokens and block new raw font sizes by @grgia in https://github.com/Expensify/App/pull/96880
* Remove OnyxUtils.get() from useUpdateGpsTripOnReconnect (use useOnyx) by @MelvinBot in https://github.com/Expensify/App/pull/99391
* Hide duplicate Concierge row on Help page when guide/AM/relationship manager is Concierge by @MelvinBot in https://github.com/Expensify/App/pull/97293
* [No QA] fix: pin actionName in useShouldSuppressConciergeIndicators test to stop flaky failures by @Valforte in https://github.com/Expensify/App/pull/99488
* Fix: feed quick filter auto-expands for short lists with two-line rows by @MelvinBot in https://github.com/Expensify/App/pull/99404
* [No QA] Protect ProposalPolice coordinator comments by @roryabraham in https://github.com/Expensify/App/pull/99465
* Fix Workspace Tags toggle freeze on large tag lists (scope violation recompute + pending switch feedback) by @MelvinBot in https://github.com/Expensify/App/pull/97820
* Fix auto-select for uniquely resolved dependent tags by @dukenv0307 in https://github.com/Expensify/App/pull/99340
* [No QA] Update AI Agent help docs by @MelvinBot in https://github.com/Expensify/App/pull/95235
* Update getWorkspaceRules to include flag for review and field requirement by @hungvu193 in https://github.com/Expensify/App/pull/99312
* Return a fixed-size policy summary from the IOURequestStartPage selector by @TMisiukiewicz in https://github.com/Expensify/App/pull/99319
* Perf: select narrow admin policy data instead of the whole policy array by @TMisiukiewicz in https://github.com/Expensify/App/pull/99174
* Migrate money request scan and waypoint steps to dynamic routes by @suneox in https://github.com/Expensify/App/pull/99150
* migrate SPLIT_EXPENSE_EDIT by @huult in https://github.com/Expensify/App/pull/98547
* 83867 travel workspace by @huult in https://github.com/Expensify/App/pull/98631
* [No QA] Fix split expense dynamic route typecheck by @mjasikowski in https://github.com/Expensify/App/pull/99532
* [CP Staging] Fix Concierge prompt box requiring two taps with keyboard open by @mhawryluk in https://github.com/Expensify/App/pull/99529
* Display short date labels on chart X axis by @mhawryluk in https://github.com/Expensify/App/pull/98885
* Standardize Expense Report and Expense header with predictable button placement and carousel counter by @thelullabyy in https://github.com/Expensify/App/pull/98611
* [CP Staging] Fix broken Android upload thumbnail by adding file:// scheme to cached local source by @MelvinBot in https://github.com/Expensify/App/pull/99546
* Fix: keep Submit-to popover at a constant height when the recipient list collapses by @MelvinBot in https://github.com/Expensify/App/pull/99260
* [CP Staging] Fix iOS - Home - Concierge prompt box remains expanded after sending attachment by @GCyganek in https://github.com/Expensify/App/pull/99537
* Show the auto-approval limit notice when the submitter is also the approver by @KioCoan in https://github.com/Expensify/App/pull/99016
* fix: open the sign in RHP for anonymous users in the Home Concierge prompt box by @dariusz-biela in https://github.com/Expensify/App/pull/99552
* fix: use TRACK instead of SUBMIT for Teachers Unite expenses by @huult in https://github.com/Expensify/App/pull/97858
* [Payment due @Krishna2323] Keep personal details when switching to and from copilot account by @cead22 in https://github.com/Expensify/App/pull/99368
* [No QA] [Performance] Add write-readiness barrier primitives and pending-write modules by @JakubKorytko in https://github.com/Expensify/App/pull/98979
* [Payment due @thelullabyy] Allow setting and displaying approval workflows with the new structure by @Gonals in https://github.com/Expensify/App/pull/94825
* Gate close account for copilots by @lakchote in https://github.com/Expensify/App/pull/99400
* Fix: tear down Onfido SDK on unmount so its modal is removed when the RHP closes by @MelvinBot in https://github.com/Expensify/App/pull/99424
* Use a distinct empty state illustration for Spend > Expenses by @MelvinBot in https://github.com/Expensify/App/pull/99387
* Fix required-field error appearing on file upload in Signer info documents step by @MelvinBot in https://github.com/Expensify/App/pull/99590
* Patch react-native-fs to build file URIs with Uri.fromFile by @adhorodyski in https://github.com/Expensify/App/pull/99333
* Prevent self-parented report when preexistingReportID equals parentReportID by @TMisiukiewicz in https://github.com/Expensify/App/pull/99536
* Fix stuck Save loading state when cancelling travel monthly limit reduction by @MelvinBot in https://github.com/Expensify/App/pull/99344


**Full Changelog**: https://github.com/Expensify/App/compare/9.4.61-4...9.4.62-4