9.4.47-7

plait-board/drawnix9.4.47-7Aug 1, 2026by github-actions[bot]

AI Summary

This release focuses on fixing various UI bugs, improving search functionality, and enhancing the accessibility of the Expensify app. Key improvements include better keyboard handling on Android, native HTML table support, and a dedicated switch for Copilot.

Key Highlights

  • Fixed table filter popover positioning on Android when opened over the keyboard
  • Made Copilot switching discoverable with a dedicated Switch button on the Accounts page
  • Added native support for HTML tables in responses
  • Enhanced search results to show the Workspace name beside the room name
  • Improved accessibility with better screen reader announcements and empty-state alignment

New Features

  • Dedicated Copilot switch button
  • Concierge thinking indicator on expense reports
  • WebP extension support for receipts
  • Workspace name display in search results
  • HTML table native support
  • Expensify Card statement PDF export to search bulk actions

Full Release Notes

## What's Changed
* Fix table filter popover appearing mid-screen when opened over the keyboard on Android by @MelvinBot in https://github.com/Expensify/App/pull/97303
* [CP Staging][Payment due @mkhutornyi] Render agent rule change logs in NewDot #admins by @yuwenmemon in https://github.com/Expensify/App/pull/96773
* [Payment due @huult] feat(wallet): prompt for magic code when changing wallet phone by @dukenv0307 in https://github.com/Expensify/App/pull/95566
* [No QA] Fix spell checker to account for doc names with apostrophes and spaces by @NikkiWines in https://github.com/Expensify/App/pull/97321
* Fix: exclude just-created draft expense from terminal status filters (Deleted/Approved/Paid/Done) in Search by @MelvinBot in https://github.com/Expensify/App/pull/96495
* Make Copilot switching discoverable with a dedicated Switch button on the Accounts page (v2) by @wildan-m in https://github.com/Expensify/App/pull/95769
* Show Concierge thinking indicator on expense reports and threads by @chiragsalian in https://github.com/Expensify/App/pull/97363
* Allow WebP extension on receipts by @Gonals in https://github.com/Expensify/App/pull/91705
* feat: Show the Workspace name beside the room name in Search results by @nkdengineer in https://github.com/Expensify/App/pull/96574
* fix: resolve admin "Keep selected" duplicates when transaction thread… by @yusufdeveloper2903 in https://github.com/Expensify/App/pull/96607
* Make editable cell hover target full height by @x-dev90 in https://github.com/Expensify/App/pull/96318
* Collapse line breaks in agent rule change log LHN previews by @MelvinBot in https://github.com/Expensify/App/pull/97420
* Add Expensify Card statement PDF export to search bulk actions by @ishpaul777 in https://github.com/Expensify/App/pull/92790
* [NoQA] Fix `SearchAutocompleteListTest` jest test by @MonilBhavsar in https://github.com/Expensify/App/pull/97429
* [CP Staging] fix: Spend page on the background blinks continuously by @daledah in https://github.com/Expensify/App/pull/97438
* Do not render export page link for integration that has nothing to change by @s77rt in https://github.com/Expensify/App/pull/97355
* [No QA] Add tech debt philosophy doc by @luacmartins in https://github.com/Expensify/App/pull/95768
* Migrate money request time step to dynamic routes (#83850 part 2) by @suneox in https://github.com/Expensify/App/pull/96963
* Advance lastUpdateID for WRITE requests only after the deferred flush applies by @elirangoshen in https://github.com/Expensify/App/pull/97098
* Derive app skeletons from queued requests by @BartekObudzinski in https://github.com/Expensify/App/pull/97115
* Gate language and payment card currency selection behind a Save button (a11y On Input, PR 6) by @MelvinBot in https://github.com/Expensify/App/pull/97075
* Fix selected category ordering in spend rules by @marufsharifi in https://github.com/Expensify/App/pull/95967
* Remove non-sortable flag for 'exportedTo' column in search table headers by @lorretheboy in https://github.com/Expensify/App/pull/95473
* Add contextual Category rules section to category details RHP by @Krishna2323 in https://github.com/Expensify/App/pull/96591
* [No QA] Update docs using Magic Code by @NikkiWines in https://github.com/Expensify/App/pull/97278
* [CP Staging] Fix filter name cut off on landscape by @bernhardoj in https://github.com/Expensify/App/pull/97432
* Redirect the root path to Home instead of the Inbox by @WojtekBoman in https://github.com/Expensify/App/pull/97446
* [No QA] Update iOS build workflows to Xcode 26.6 by @mountiny in https://github.com/Expensify/App/pull/97452
* perf: skip full transactions scan in computeReportName by @TMisiukiewicz in https://github.com/Expensify/App/pull/97340
* [No QA] Unify avatar sizes by @jmusial in https://github.com/Expensify/App/pull/95275
* Fix: Screen Reader: Many Pages: There is no dialog role and title announced  by @Krishna2323 in https://github.com/Expensify/App/pull/96892
* [No QA] Update help docs for Releases 1-5: Rillet integration by @MelvinBot in https://github.com/Expensify/App/pull/97195
* Fix markdown cursor restore crash on IOU description focus by @x-dev90 in https://github.com/Expensify/App/pull/96638
* refactor getPolicyName callers in SidebarUtils/ReportNameUtils by @daledah in https://github.com/Expensify/App/pull/97085
* Add native support for HTML tables in responses by @dukenv0307 in https://github.com/Expensify/App/pull/94926
* [Payment due @ahmedGaber93] Convert Search footer totals via GetTransactionsConvertedAmount command by @c3024 in https://github.com/Expensify/App/pull/94669
* [No QA] Add agent-device sign-in drive library for conditional flow steering by @kacper-mikolajczak in https://github.com/Expensify/App/pull/96809
* [CP-staging] Revert "Add Next button to company card assignee step instead of tap-to-advance" by @chiragsalian in https://github.com/Expensify/App/pull/97501
* Show only Custom range (not Custom date) in Consolidated Travel Billing export by @rlinoz in https://github.com/Expensify/App/pull/97461
* Fix empty-state alignment shift on Tags, Per diems, and Workspaces tables by @MelvinBot in https://github.com/Expensify/App/pull/97451
* Fix - Wrong avatar is shown on the template agent after refreshing page by @jmusial in https://github.com/Expensify/App/pull/97449
* Move Expense type filter up below Workspace in Expenses advanced filters by @MelvinBot in https://github.com/Expensify/App/pull/97508
* Fix dependent tag second-level row stuck faded after selecting first-level tag by @MelvinBot in https://github.com/Expensify/App/pull/94756
* Fix missing report export templates by @ShridharGoel in https://github.com/Expensify/App/pull/97484
* fix: Notification appears when user is focused on the report by @nkdengineer in https://github.com/Expensify/App/pull/96891
* [NO QA] Guard getCorpayOnboardingFields against empty countryISO by @MelvinBot in https://github.com/Expensify/App/pull/97249
* Revert "fix: block removing a workspace member who holds an active Expensify Card" by @deetergp in https://github.com/Expensify/App/pull/97511
* Fix missing error message when chat creation fails due to network request by @nabi-ebrahimi in https://github.com/Expensify/App/pull/96678
* Fix invoice room skeleton on failed send by @nabi-ebrahimi in https://github.com/Expensify/App/pull/95259
* [No QA] Add images for Transitioning to New Expensify articles  by @stephanieelliott in https://github.com/Expensify/App/pull/97515
* [Payment due @thesahindia] Improve parity with Auth on checks for merging a transaction by @aldo-expensify in https://github.com/Expensify/App/pull/97017
* Fix Save button shifting up in offline mode on room settings pages by @MelvinBot in https://github.com/Expensify/App/pull/97421
* 🍒 Cherry pick PR #97582 to staging 🍒 by @os-botify[bot] in https://github.com/Expensify/App/pull/97588


**Full Changelog**: https://github.com/Expensify/App/compare/9.4.46-10...9.4.47-7