9.4.32-3
Expensify/App9.4.32-3Jul 10, 2026by github-actions[bot]
AI Summary
Focuses on navigation stability, Certinia integration improvements, and continued refactoring of internal architecture.
Key Highlights
- Fixed critical navigation bugs where forward/back buttons disappeared after submission
- Enhanced Certinia integration with sandbox options and bundle link fixes
- Improved Copilot switching discoverability with a dedicated button
- Continued migration away from Onyx.connect() and refactoring of ReportActionsList
- Fixed issues with missing DMs on fresh sign-in and offline tax rates
New Features
- Copilot switching discoverability with dedicated button
- Connect to Certinia Sandbox option
- Schedule OOO end date picker with two-way duration sync
Full Release Notes
## What's Changed * Pass ownerLogin as param to isViolationDismissed by @bernhardoj in https://github.com/Expensify/App/pull/95317 * Make single-select filter rows use compact 52px row height to match multi-select by @MelvinBot in https://github.com/Expensify/App/pull/94876 * [Payment due @DylanDylann] Exclude all-pending card reports from the Submit to-do by @ishpaul777 in https://github.com/Expensify/App/pull/95204 * Remove Onyx.connect() usage for ONYXKEYS.COLLECTION.POLICY_TAGS in requestMoney function from src/libs/actions/IOU/TrackExpense.ts by @Guccio163 in https://github.com/Expensify/App/pull/89084 * Forward/Back navigation buttons disappear after submitting a report by @lorretheboy in https://github.com/Expensify/App/pull/94928 * fix known DMs missing in recent chats on fresh sign-in by @apeyada in https://github.com/Expensify/App/pull/95454 * Replace getDisplayNameOrDefault with temporaryGetDisplayNameOrDefault - batch 7 by @cretadn22 in https://github.com/Expensify/App/pull/95420 * [No QA] Decompose Icon component by @jmusial in https://github.com/Expensify/App/pull/95048 * Update conciergeReportID to remove Onyx.connect - 28 by @cretadn22 in https://github.com/Expensify/App/pull/95066 * Fix: restore Wallet background for missing personal details RHP after reload by @MelvinBot in https://github.com/Expensify/App/pull/95363 * Audit react-navigation patches: remove redundant emoji patch, fix stale docs by @elirangoshen in https://github.com/Expensify/App/pull/94419 * [No QA] [Hold for feature] Docs updates for E/A#94207 document Permitted currencies in Card Spend Rules by @MelvinBot in https://github.com/Expensify/App/pull/95087 * [Payment due @daledah] [No QA] Report managed card transactions to employee's default policy by @s77rt in https://github.com/Expensify/App/pull/94768 * [NoQA] Cleanup functions that are being referenced in test only which escaped knip by @shubham1206agra in https://github.com/Expensify/App/pull/95419 * [Payment due @situchan] [No QA] Clear SW caches on web Update Required reload by @luacmartins in https://github.com/Expensify/App/pull/95438 * [No QA] Make reviewer checklist action tolerant of longer completed checklists by @kacper-mikolajczak in https://github.com/Expensify/App/pull/94161 * Fix Certinia setup step 1 bundle links not rendering on native by @ShridharGoel in https://github.com/Expensify/App/pull/94856 * Fix: keep offline-deleted tax rates visible in default currency tax picker by @MelvinBot in https://github.com/Expensify/App/pull/95413 * Fixed money request optimistic violations by @mukhrr in https://github.com/Expensify/App/pull/94105 * Make Copilot switching discoverable with a dedicated Switch button on the Accounts page by @wildan-m in https://github.com/Expensify/App/pull/93393 * Fix: copy only the selected text for system messages by @MelvinBot in https://github.com/Expensify/App/pull/95517 * fix: resolve distance expense creation error in DM after clearing cache by @nabi-ebrahimi in https://github.com/Expensify/App/pull/92755 * Collect legal entity tax ID before enabling Travel on non-USD workspaces by @blimpich in https://github.com/Expensify/App/pull/94604 * [Payment due @Ollyws] Add never value to withdrawal-status search filter by @ShridharGoel in https://github.com/Expensify/App/pull/93895 * Pass reportActions as param to shouldShowReportActionNotification by @bernhardoj in https://github.com/Expensify/App/pull/95318 * [CP Staging] Add payer admin logic for manual reimbursement payers by @NikkiWines in https://github.com/Expensify/App/pull/95547 * [NoQA] Optimize CardUtils card filtering to avoid copying large card lists by @VickyStash in https://github.com/Expensify/App/pull/95272 * Filter disabled report field values out of the Recent section by @MelvinBot in https://github.com/Expensify/App/pull/94764 * [Home Page] Update the "Getting started" slot for the `Track expenses for my business` intent by @adamgrzybowski in https://github.com/Expensify/App/pull/95057 * [No QA] - Fix cold lint after deprecating icons sizing by @jmusial in https://github.com/Expensify/App/pull/95606 * Replace getDisplayNameOrDefault with temporaryGetDisplayNameOrDefault - batch 6 by @cretadn22 in https://github.com/Expensify/App/pull/95415 * Fix "Let's go" migrate welcome button redirects to Inbox instead of Spend page after completing the demo by @jmusial in https://github.com/Expensify/App/pull/95399 * Bump Onyx to 3.0.89 by @fabioh8010 in https://github.com/Expensify/App/pull/93436 * Migrate AvatarCropModal to @react-navigation modal screen by @borys3kk in https://github.com/Expensify/App/pull/93926 * Refactor getSubmitToEmail and getSubmitToAccountID by @bernhardoj in https://github.com/Expensify/App/pull/95458 * [NoQA] fix: recover stuck isLoadingApp that blocks Inbox and Workspaces by @BartekObudzinski in https://github.com/Expensify/App/pull/95569 * [No QA] Fix leader-election deadlock in ActiveClientManager (SequentialQueue unable to flush) by @elirangoshen in https://github.com/Expensify/App/pull/95148 * [Internal QA] Fix duplicate company cards showing up by @JS00001 in https://github.com/Expensify/App/pull/95611 * Coalesce OnyxDerived recomputations via macrotask scheduling by @fabioh8010 in https://github.com/Expensify/App/pull/95287 * [No QA] Coalesce OnyxDerived recomputations via macrotask scheduling by @sosek108 in https://github.com/Expensify/App/pull/94574 * Adjust to use dedicated RevealExpensifyTravelCardDetails command by @heekinho in https://github.com/Expensify/App/pull/95514 * [CP Staging] Fix overlap styles for table filter bar by @JS00001 in https://github.com/Expensify/App/pull/95632 * Only read foreground location permissions without requesting them at the beginning by @DylanDylann in https://github.com/Expensify/App/pull/95372 * [Payment due @FitseTLT] Add end date picker with two-way duration sync on Schedule OOO by @stitesExpensify in https://github.com/Expensify/App/pull/94314 * [CP Staging] Fix: disable Expand button for offline-edited distance receipts with stale map by @MelvinBot in https://github.com/Expensify/App/pull/95563 * [No QA] Add VPAT to Compliance Documentation by @rushatgabhane in https://github.com/Expensify/App/pull/95510 * Restore Wallet and other Account sections for agent accounts by @NicolasBonet in https://github.com/Expensify/App/pull/95421 * Add Connect to Certinia Sandbox option by @ShridharGoel in https://github.com/Expensify/App/pull/95113 * [Bulk workspace edits] Release 2: remove Control-only restriction + Upgrade page by @fedirjh in https://github.com/Expensify/App/pull/94060 * Fix distance request deeplink redirect by @emkhalid in https://github.com/Expensify/App/pull/95436 * [No QA] Reduce unsafe type assertions in navigation tests by @KJ21-ENG in https://github.com/Expensify/App/pull/95646 * [No QA] Reduce unsafe type assertions in checkFileExists, qbo/utils, parseAndCollectJSONs, and useLastWorkspaceNumber tests by @KJ21-ENG in https://github.com/Expensify/App/pull/95641 * Prevent empty values for mandatory fields in CSV Card Import by @Gonals in https://github.com/Expensify/App/pull/95488 * [No QA] Reduce unsafe type assertions in search, hook, and mention tests by @KJ21-ENG in https://github.com/Expensify/App/pull/95643 * [Payment due @ahmedGaber93] [No QA] Docs updates for E/A#94511 attendee columns sortable in report view by @MelvinBot in https://github.com/Expensify/App/pull/95295 * Show pending BYOC transactions in NewDot by @daledah in https://github.com/Expensify/App/pull/91231 * [No QA] Update help docs for Release 1: global HR import (Workday, HiBob, BambooHR) by @MelvinBot in https://github.com/Expensify/App/pull/95474 * [No QA] Update help docs for Release 1: Date-based mileage rates by @MelvinBot in https://github.com/Expensify/App/pull/94257 * [No QA] Fix stale pending-transaction submit tests broken on main by @amyevans in https://github.com/Expensify/App/pull/95654 * [No QA] update previousTaxCode in setPolicyTaxCode successData by @dukenv0307 in https://github.com/Expensify/App/pull/94286 * Open linked message at top - 3 by @VickyStash in https://github.com/Expensify/App/pull/95045 * [No QA] Automate PR checklist batch 2: callback naming, prop docs, file headers by @kacper-mikolajczak in https://github.com/Expensify/App/pull/95546 * fix: onboarding back button redirects to blank modal for private-domain VSB/SMB by @dilshodmackbook-sketch in https://github.com/Expensify/App/pull/95001 * [NoQA] Revert onyx bump by @mountiny in https://github.com/Expensify/App/pull/95665 * [CP Both] Revert "[Onyx bump] Bump react-native-onyx from 3.0.86 to 3.0.88" by @mountiny in https://github.com/Expensify/App/pull/95668 * [NO QA] Match letter avatar initials size to the generated avatar images by @grgia in https://github.com/Expensify/App/pull/95639 * Remove Onyx.connect() usage for ONYXKEYS.COLLECTION.POLICY_TAGS in handleMoneyRequestStepDistanceNavigation function from src/pages/iou/request/step/IOURequestStepDistance/handleMoneyRequestStepDistanceNavigation.ts by @Guccio163 in https://github.com/Expensify/App/pull/94300 **Full Changelog**: https://github.com/Expensify/App/compare/9.4.31-0...9.4.32-3