9.4.54-4
Expensify/App9.4.54-4Aug 18, 2026by github-actions[bot]
AI Summary
This release adds Active/Archived filter sections to the Spend workspace and improves page load performance (INP). It also brings back the Top merchants insight and fixes various UI and rule-related bugs.
Key Highlights
- [Release 3] feat: Active/Archived sections + Select all in Spend workspace filter
- [INP] Improve UserListItem-Checkbox INP: paint the checkmark optimistically
- Fix: Expense Rules Without Reimbursable/Billable in Classic Default to 'No' in New Expensify
- Bring back Top merchants insight to the Home page
- Fix incorrect currency symbol in distance rate update changelog message
New Features
- Add Active/Archived sections + Select all in Spend workspace filter
- Bring back Top merchants insight to the Home page
Full Release Notes
## What's Changed * Fix: Expense Rules Without Reimbursable/Billable in Classic Default to “No” in New Expensify by @twilight2294 in https://github.com/Expensify/App/pull/97522 * Update conciergeReportID to remove Onyx.connect - 34 by @cretadn22 in https://github.com/Expensify/App/pull/97822 * Keep merchant rules import button active offline for the all-skipped path by @MelvinBot in https://github.com/Expensify/App/pull/96976 * [INP] Improve UserListItem-Checkbox INP: paint the checkmark optimistically and run the selection update as a transition by @dilshodmackbook-sketch in https://github.com/Expensify/App/pull/97140 * Fix: show receipt thumbnail on Expenses tab when receipt has a file but no scan state by @MelvinBot in https://github.com/Expensify/App/pull/97687 * Remove onboarding progress bar by @MelvinBot in https://github.com/Expensify/App/pull/97590 * [NO QA] Scope agent-device text-input macros per platform by @kacper-mikolajczak in https://github.com/Expensify/App/pull/98272 * [No QA] Remove unsafe type assertions from tests by @KJ21-ENG in https://github.com/Expensify/App/pull/97286 * [No QA] Remove unsafe type assertions from policy, workflow, navigation, and utility tests by @KJ21-ENG in https://github.com/Expensify/App/pull/97317 * Fix Android device back button on the public room sign-in modal by @ahmdshrif in https://github.com/Expensify/App/pull/98401 * Name the required deposit currency in the waiting-for-submitter-account next step by @ShridharGoel in https://github.com/Expensify/App/pull/94786 * [No QA] Fix typecheck and test failures from PR #94786 by @luacmartins in https://github.com/Expensify/App/pull/98512 * [CP Stg] Fix category change log thread header to match the system message by @roryabraham in https://github.com/Expensify/App/pull/98495 * Rewrite default custom agent prompt as a personal copilot example by @yuwenmemon in https://github.com/Expensify/App/pull/98508 * [No QA] Cleanup CLAUDE.md by @roryabraham in https://github.com/Expensify/App/pull/98514 * [Payment due @mkhutornyi] Add policy change logs for the categorize and tag requirements by @rayane-d in https://github.com/Expensify/App/pull/97505 * 83858 migrate category v3 by @huult in https://github.com/Expensify/App/pull/97524 * [CP Staging] Revert "fix: stop Search re-firing an identical query on unrelated Onyx updates" by @mountiny in https://github.com/Expensify/App/pull/98548 * [CP Stg] Patch RN 0.86 to fix Fabric reusing nodes with a stale font scale by @roryabraham in https://github.com/Expensify/App/pull/98507 * [CP Staging] Remove unnecessary delayed image loading by @bernhardoj in https://github.com/Expensify/App/pull/98568 * Fix: patch react-native-vision-camera to avoid AVCaptureSession configuration crash by @sharabai in https://github.com/Expensify/App/pull/97499 * [Search Router] Add Create actions to navigation suggestions by @nabi-ebrahimi in https://github.com/Expensify/App/pull/97086 * Migrate Button to ButtonComposed (batch 8) by @mikolajpochec in https://github.com/Expensify/App/pull/97089 * Fix receipts dropping after iOS app upgrade due to stale container paths by @adhorodyski in https://github.com/Expensify/App/pull/97814 * Fix: Multi-level tags show "Required" on all levels when only some are required by @MelvinBot in https://github.com/Expensify/App/pull/98247 * Take the user into the Concierge thread after asking a question by @rushatgabhane in https://github.com/Expensify/App/pull/97816 * [No QA] Fix flaky SignInBackButtonTest caused by the openApp Onyx race by @mountiny in https://github.com/Expensify/App/pull/98586 * Clear expense report hasOutstandingChildRequest optimistically on approve by @MelvinBot in https://github.com/Expensify/App/pull/95636 * [CP Staging] Spend - Canadian multiple tax export is not shown if an expense was previously deleted. by @dukenv0307 in https://github.com/Expensify/App/pull/98526 * [NoQA] Add logging for silent exits in Search page pay flows by @VickyStash in https://github.com/Expensify/App/pull/98597 * [CP staging] Expense-Canadian Multiple Tax Export option is missing for expenses in archived CAD workspace by @dukenv0307 in https://github.com/Expensify/App/pull/98545 * Persist reimbursable selection on optimistic CSV import card by @MelvinBot in https://github.com/Expensify/App/pull/98486 * [No QA] Replace softprops/turnstyle with GitHub-native concurrency in createNewVersion by @roryabraham in https://github.com/Expensify/App/pull/98458 * [No QA] MenuItem decomposition - simplest usages by @war-in in https://github.com/Expensify/App/pull/97339 * Preserve custom report name when duplicating a report and editing expenses by @MelvinBot in https://github.com/Expensify/App/pull/98387 * Filter DELETE-pending transactions out of LHN RBR aggregation by @dilshodmackbook-sketch in https://github.com/Expensify/App/pull/97706 * [No QA] Clean up unsafe assertions in unit tests by @KJ21-ENG in https://github.com/Expensify/App/pull/98453 * [No QA] Remove unsafe type assertions from unit tests by @KJ21-ENG in https://github.com/Expensify/App/pull/98447 * [No QA] Clean up unsafe type assertions in UI tests by @KJ21-ENG in https://github.com/Expensify/App/pull/98436 * [No QA] Remove unsafe type assertions from tests by @KJ21-ENG in https://github.com/Expensify/App/pull/98431 * [No QA] Remove unsafe type assertions from UI tests by @KJ21-ENG in https://github.com/Expensify/App/pull/98415 * [No QA] Remove unsafe type assertions from tests by @KJ21-ENG in https://github.com/Expensify/App/pull/98116 * [No QA] Remove unsafe type assertions from tests by @KJ21-ENG in https://github.com/Expensify/App/pull/98111 * [No QA] Remove unsafe type assertions from tests by @KJ21-ENG in https://github.com/Expensify/App/pull/97676 * [No QA] Remove unsafe type assertions from tests by @KJ21-ENG in https://github.com/Expensify/App/pull/97509 * Fix incorrect currency symbol in distance rate update changelog message by @mukhrr in https://github.com/Expensify/App/pull/98389 * [Payment due @huult] [NO QA] Add Amount debited and Amount reimbursed filters, columns and sorting by @ishpaul777 in https://github.com/Expensify/App/pull/97708 * [No QA] Remove unsafe type assertions from unit tests by @KJ21-ENG in https://github.com/Expensify/App/pull/98428 * Keep the time picker's AM/PM period locale-independent by @mukhrr in https://github.com/Expensify/App/pull/98110 * Bring back Top merchants insight to the Home page by @mhawryluk in https://github.com/Expensify/App/pull/98557 * Clean up page header styles and remove header illustrations by @shawnborton in https://github.com/Expensify/App/pull/98461 * [Payment due @ZhenjaHorbach] Render DELEGATESUBMIT report action as muted system message by @luacmartins in https://github.com/Expensify/App/pull/96766 * Re-add Rotate and Crop buttons for stitched odometer receipt images by @MelvinBot in https://github.com/Expensify/App/pull/98540 * [Payment due @situchan] Refactor BusinessInfo PhoneNumberBusiness loader to ActivityIndicator by @MelvinBot in https://github.com/Expensify/App/pull/96832 * Turn native startup markers into ManualAppStartup child spans (iOS startup p90 instrumentation) by @elirangoshen in https://github.com/Expensify/App/pull/97565 * Refactor Account settings menu data into a shared hook by @nabi-ebrahimi in https://github.com/Expensify/App/pull/96870 * Video orientation changes after editing a message by @nkdengineer in https://github.com/Expensify/App/pull/97174 * Fix Distance badge overlaps with one another by @GCyganek in https://github.com/Expensify/App/pull/98572 * [No QA] Fix unsafe type assertions in unit tests by @KJ21-ENG in https://github.com/Expensify/App/pull/98452 * [No QA] Remove unsafe type assertions from tests by @KJ21-ENG in https://github.com/Expensify/App/pull/98533 * Show Edit comment for text and attachment messages while the attachment uploads by @mukhrr in https://github.com/Expensify/App/pull/97935 * Surface over-limit error when moving an expense to a report at the 500-transaction limit by @MelvinBot in https://github.com/Expensify/App/pull/97998 * [Payment due @situchan] Refactor BusinessInfo IncorporationStateBusiness loader to ActivityIndicator by @MelvinBot in https://github.com/Expensify/App/pull/96831 * Fix flash of disabled feature page before redirect to More features by @MelvinBot in https://github.com/Expensify/App/pull/98549 * Name assigned company card after the selected employee, not the admin by @MelvinBot in https://github.com/Expensify/App/pull/97925 * fix super wide RHP closing after merging an expense on Search by @apeyada in https://github.com/Expensify/App/pull/96910 * Fix Global Reimbursement incorrectly appearing disabled for fully set-up US Corpay accounts by @MelvinBot in https://github.com/Expensify/App/pull/98347 * [NO QA] Use correct melvin actor to ignore checklist by @rlinoz in https://github.com/Expensify/App/pull/98642 * [No QA] Update help docs for Release 3: Submit via PDF for the Submit workspace by @MelvinBot in https://github.com/Expensify/App/pull/98295 * [No QA] Migrate GitHub Actions and scripts tests from Jest to bun:test by @roryabraham in https://github.com/Expensify/App/pull/98402 * Resume add-card flow after acknowledging company cards upgrade by @MelvinBot in https://github.com/Expensify/App/pull/97937 * fix: show scan error instead of populating $0 amount when scan fails by @x-dev90 in https://github.com/Expensify/App/pull/96772 * [Release 3] feat: Active/Archived sections + Select all in Spend workspace filter by @truph01 in https://github.com/Expensify/App/pull/97773 * Convert Workflows page to a tabbed layout behind the rulesRevamp beta by @Krishna2323 in https://github.com/Expensify/App/pull/98004 * getPolicyTags cleanup by @Guccio163 in https://github.com/Expensify/App/pull/98400 * [No QA] Remove unsafe type assertions from UI tests by @KJ21-ENG in https://github.com/Expensify/App/pull/98440 * Fix keyboard focus not returning to FAB and composer + after Back by @Krishna2323 in https://github.com/Expensify/App/pull/97678 * [No QA] Remove unsafe type assertions from ten test files by @KJ21-ENG in https://github.com/Expensify/App/pull/97285 * [No QA] Remove unsafe assertions from shared test utilities by @KJ21-ENG in https://github.com/Expensify/App/pull/98485 * Limit displayed Exchange Rate values to 4 decimals in expense tables by @MelvinBot in https://github.com/Expensify/App/pull/98620 * fix: reland Search re-fire fix with the deploy blocker regressions closed by @BartekObudzinski in https://github.com/Expensify/App/pull/98558 * [CP Staging] fix iOS 2FA blank screen is displayed after enabling 2FA bug by @jakubstec in https://github.com/Expensify/App/pull/98604 * Patch Search snapshot when submitting a tracked expense (offline Spend > Expenses) by @MelvinBot in https://github.com/Expensify/App/pull/97618 * [NoQA] Add spans for app-startup network request phases by @TMisiukiewicz in https://github.com/Expensify/App/pull/98413 * [Payment due @Ollyws] Do not show onboarding options in concierge for submit2026 workspaces by @iwiznia in https://github.com/Expensify/App/pull/98470 * Drop the vendorMatching beta gate from QBO vendor surfaces (R1 GA) by @KioCoan in https://github.com/Expensify/App/pull/98516 * Fix: return focus and soft keyboard to description input on iOS after canceling discard modal by @MelvinBot in https://github.com/Expensify/App/pull/97823 * [Payment due @ZhenjaHorbach] [No QA] Log the two unreproducible hangs from Expensify/Expensify#667674 by @mjasikowski in https://github.com/Expensify/App/pull/98279 * Guard FlashList ViewHolderCollection render against stale layout index (web crash) by @MelvinBot in https://github.com/Expensify/App/pull/98015 * [CP Staging] fix Expense - Per diem expense receipt loads infinitely after reset app by @mkhutornyi in https://github.com/Expensify/App/pull/98668 * Surface Expensify Card monthly settlement date on card settings page by @MelvinBot in https://github.com/Expensify/App/pull/98164 * [No QA] Fix main typecheck: add required email to QBO vendor mock by @mountiny in https://github.com/Expensify/App/pull/98670 * Center Home page contents on wider screens by @shawnborton in https://github.com/Expensify/App/pull/98449 * Migrate Button to ButtonComposed (batch 5) search+reports by @mikolajpochec in https://github.com/Expensify/App/pull/97336 * fix: Home - Extra padding is shown in More menu in offline mode by @mhawryluk in https://github.com/Expensify/App/pull/98290 * [NO QA][HOME] Replace right caret with new window icon on announcements row by @MelvinBot in https://github.com/Expensify/App/pull/98435 * Expense -Deleted split moved from 1:1 chat to Self DM with negative amount after clear cache by @lorretheboy in https://github.com/Expensify/App/pull/97645 * 🍒 Cherry pick PR #98790 to staging 🍒 by @os-botify[bot] in https://github.com/Expensify/App/pull/98804 **Full Changelog**: https://github.com/Expensify/App/compare/9.4.53-10...9.4.54-4