9.4.52-11

Expensify/App9.4.52-11Aug 12, 2026by github-actions[bot]

AI Summary

This release focuses on removing Onyx.connect() for the NETWORK key and implementing NetSuite OAuth support. It also introduces an insight-switcher dropdown for charts and fixes several iOS crashes and UI alignment issues.

Key Highlights

  • Implement support for the NetSuite OAuth connect flow
  • Remove Onyx.connect() for the key: ONYXKEYS.NETWORK
  • Add insight-switcher dropdown to the chart slot in Home
  • Fix iOS crash when returning from Settings after enabling Contacts access
  • Enable multiline GL account names in NetSuite AP Approval Account list

New Features

  • NetSuite OAuth integration
  • Insight switcher dropdown
  • Multiline GL account names in NetSuite

Full Release Notes

## What's Changed
* Part 3: Remove Onyx.connect() for the key: ONYXKEYS.NETWORK in src/libs/ReportActionsUtils.ts by @thelullabyy in https://github.com/Expensify/App/pull/95776
* [NoQA] chore: Move `react-native-nitro-fetch` patch to correct subfolder by @chrispader in https://github.com/Expensify/App/pull/97772
* [NoQA] Support name-based agent emails by @ShridharGoel in https://github.com/Expensify/App/pull/97895
* [No QA] Docs: improve help-site discoverability (out-of-pocket keywords, Apple/Google Pay troubleshooting, member-onboarding synonyms) by @MelvinBot in https://github.com/Expensify/App/pull/97419
* Allow the workspace currency selector to open from the upgrade step and travel confirmation by @wildan-m in https://github.com/Expensify/App/pull/97543
* [No QA] Update ChatGPT MCP connection doc for official connector directory by @marcaaron in https://github.com/Expensify/App/pull/97139
* Implement support for the NetSuite OAuth connect flow by @akinwale in https://github.com/Expensify/App/pull/96677
* fix: allow FFA-only Certinia company selection by @ShridharGoel in https://github.com/Expensify/App/pull/96995
* Fix company cards bulk actions menu alignment by @KJ21-ENG in https://github.com/Expensify/App/pull/97405
* refactor: align expense preview card metadata line with mobile row styling by @Krishna2323 in https://github.com/Expensify/App/pull/96942
* Apply the sign-in response on arrival by @adhorodyski in https://github.com/Expensify/App/pull/97690
* Bump react-native-onyx to 3.0.94 by @TMisiukiewicz in https://github.com/Expensify/App/pull/96853
* [No QA] Remove copy for not yet released functionality from help doc by @NikkiWines in https://github.com/Expensify/App/pull/97986
* [No QA] fix: force own transaction for inbox tab navigation span by @BartekObudzinski in https://github.com/Expensify/App/pull/97966
* [CP Staging] Revert "Allow moving all matching expenses to a report from Search" by @arosiclair in https://github.com/Expensify/App/pull/97989
* [No QA] Update help docs for Release 1: Automatic report reassignment on workflow changes by @MelvinBot in https://github.com/Expensify/App/pull/97799
* remove unneccesary custom types from translations batch15 by @jakubstec in https://github.com/Expensify/App/pull/96605
* [Payment due @DylanDylann] Improve shipment error handling by @heekinho in https://github.com/Expensify/App/pull/97252
* Fix - Add react-native-live-markdown to the Custom Agent Instructions input by @FitseTLT in https://github.com/Expensify/App/pull/97876
* [No QA] Add support for consuming React Native artifacts on iOS by @mateuuszzzzz in https://github.com/Expensify/App/pull/96293
* Migrate Workspace Avatar usages by @jmusial in https://github.com/Expensify/App/pull/97465
* Fixed locale specific polyfills by installing it in IntlStore by @shubham1206agra in https://github.com/Expensify/App/pull/97786
* Fix Switch button tooltip alignment by @MelvinBot in https://github.com/Expensify/App/pull/97688
* [No QA] Docs updates for E/A#96065 interactive Concierge spend charts by @MelvinBot in https://github.com/Expensify/App/pull/97738
* Standardize Expense Report and Expense header with predictable button placement and carousel counter by @thelullabyy in https://github.com/Expensify/App/pull/97005
* Add DualEntry integration by @s77rt in https://github.com/Expensify/App/pull/97373
* Remove Onyx.connect() for the key: ONYXKEYS.PERSONAL_DETAILS_LIST in src/libs/ReportNameUtils.ts by @hoangzinh in https://github.com/Expensify/App/pull/97785
* Pass hasReportActions to openReport (p5) by @bernhardoj in https://github.com/Expensify/App/pull/96866
* Preserve Search context when opening trip previews by @marufsharifi in https://github.com/Expensify/App/pull/96283
* fix (batch 2): isNewManualExpenseFlowEnabled beta flag regressions by @thelullabyy in https://github.com/Expensify/App/pull/97264
* Fix report history showing the workspace's current bank account instead of the reimbursement's actual bank account by @x-dev90 in https://github.com/Expensify/App/pull/97707
* [No QA] - Remove some dead sidebarLinkActive styles by @jmusial in https://github.com/Expensify/App/pull/98037
* Refactor: migrate convertToDisplayString to useCurrencyListActions hook (part 16) by @shubham1206agra in https://github.com/Expensify/App/pull/97892
* Add insight-switcher dropdown to the chart slot in Home by @mhawryluk in https://github.com/Expensify/App/pull/96625
* [No QA] fix: report warm inbox tab navigations correctly on web by @BartekObudzinski in https://github.com/Expensify/App/pull/98022
* [No QA] Remove infinite-skeleton Sentry span tracking by @TMisiukiewicz in https://github.com/Expensify/App/pull/98034
* Fix iOS crash when returning from Settings after enabling Contacts access by @MelvinBot in https://github.com/Expensify/App/pull/97992
* Replace usage of getPersonalDetailByEmail in delegate flow by @bernhardoj in https://github.com/Expensify/App/pull/96860
* Fix company cards import crash by transposing spreadsheet data densely by @yusufdeveloper2903 in https://github.com/Expensify/App/pull/97573
* fix: Block raw HEIC upload when conversion fails by @annaweber830 in https://github.com/Expensify/App/pull/96024
* Fix stale split highlights when splitting from the Spend page by @aswin-s in https://github.com/Expensify/App/pull/97520
* Only show user from selected workspace filter for From/To filter by @bernhardoj in https://github.com/Expensify/App/pull/97516
* Use the room name for the contextual search suggestion by @mukhrr in https://github.com/Expensify/App/pull/96448
* Save offline receipts on sign out by @rinej in https://github.com/Expensify/App/pull/97562
* Migrate Button to ButtonComposed (batch 6) text-only styled — rest by @mikolajpochec in https://github.com/Expensify/App/pull/97402
* [Insights: Violations]: Expanding group & Suggested search by @nkdengineer in https://github.com/Expensify/App/pull/97067
* Fix APP-HNA: prevent use-after-free in Fabric findShadowNodeByTag focus traversal by @MelvinBot in https://github.com/Expensify/App/pull/97496
* fix: backfill report actions when the newest page has none visible by @BartekObudzinski in https://github.com/Expensify/App/pull/97689
* Migrate Button to ButtonComposed (batch 7) by @mikolajpochec in https://github.com/Expensify/App/pull/96731
* Hoist search row violations computation out of per-row hook by @TMisiukiewicz in https://github.com/Expensify/App/pull/97867
* Perf: use indexed derived value in useReportTransactions by @TMisiukiewicz in https://github.com/Expensify/App/pull/97965
* fix: Show IES details on upgrade page by @ShridharGoel in https://github.com/Expensify/App/pull/97931
* Unify distance display to 2 decimal places by @GCyganek in https://github.com/Expensify/App/pull/97862
* fix: disable enable personal karma on native by @nkdengineer in https://github.com/Expensify/App/pull/97177
* ReportActionAvatars -> UserAvatar for single avatars migration by @jmusial in https://github.com/Expensify/App/pull/94906
* Refactor: remove deprecatedReportsTransactions in hasNonReimbursableTransactions(Part 1) by @linhvovan29546 in https://github.com/Expensify/App/pull/94806
* [No QA] Add advance-vs-stall telemetry to reconnect requests and alert on the older loop-breaker by @adhorodyski in https://github.com/Expensify/App/pull/97585
* Optimistically add message for distance rate changes by @Gonals in https://github.com/Expensify/App/pull/97517
* [NoQA] fix typecheck by @Valforte in https://github.com/Expensify/App/pull/98072
* Fix - Merge expenses prompts for attendee selection even when both expenses have the same attendee by @FitseTLT in https://github.com/Expensify/App/pull/96526
* Fix missing padding on workspace avatar in menu item by @jmusial in https://github.com/Expensify/App/pull/98041
* [No QA] Show upgrade modal if user has no eliglbe policy for moving expenses by @s77rt in https://github.com/Expensify/App/pull/97280
* fix: persist search response code so an invalid query keeps hiding Retry by @BartekObudzinski in https://github.com/Expensify/App/pull/97674
* [No QA] [Payment due @truph01] Docs updates for E/A#96947 add Download receipts option to reports by @MelvinBot in https://github.com/Expensify/App/pull/97740
* [No QA] Skip write-wait for home screen search requests that don't need OpenApp data by @TMisiukiewicz in https://github.com/Expensify/App/pull/97669
* Add a `Time sensitive` to-do for employees with missing deposit accounts by @sharabai in https://github.com/Expensify/App/pull/96623
* Fix: show all categories in Search filter when workspace filter is cleared by @MelvinBot in https://github.com/Expensify/App/pull/98070
* Keep currency for CSV-imported personal cards by @Gonals in https://github.com/Expensify/App/pull/97968
* [Payment due @gijoe0295] fix: surface empty draft reports in Submit to-do bucket by @c3024 in https://github.com/Expensify/App/pull/97312
* [Payment due @marufsharifi] [Commuter Mileage Exclusion] [R1] Display and enforce fixed distance exclusions by @fedirjh in https://github.com/Expensify/App/pull/93848
* Share extension: pre-mount destination report and create expense before reveal transition by @jmgraa in https://github.com/Expensify/App/pull/97242
* Skip SearchForTodos when the queue drops the reconnect as a duplicate by @adhorodyski in https://github.com/Expensify/App/pull/98007
* fix: keyboard focus lost after Back on Enter-activated rows by @TaduJR in https://github.com/Expensify/App/pull/97306
* fix: open country selector RHP when adding a personal card after upgrade by @dilshodmackbook-sketch in https://github.com/Expensify/App/pull/96752
* Dedupe getTransactionsForReport lookups in Search row Action column by @TMisiukiewicz in https://github.com/Expensify/App/pull/97877
* fix: Invoice created via duplicate workspace shows error by @lorretheboy in https://github.com/Expensify/App/pull/97209
* fix: Clean-up some tax related bugs by @dmkt9 in https://github.com/Expensify/App/pull/94007
* [No QA] Update conciergeReportID to remove Onyx.connect - 35 by @cretadn22 in https://github.com/Expensify/App/pull/97882
* [NoQA] Retry failed locale chunk loads to prevent a permanently stuck boot splash by @VickyStash in https://github.com/Expensify/App/pull/97491
* [No QA] Update Rillet non-reimbursable config source by @s77rt in https://github.com/Expensify/App/pull/97845
* [NoQA] Fix AI Features Promo modal SecurityError from doubled-slash path and re-entrancy by @MelvinBot in https://github.com/Expensify/App/pull/97849
* Fix footer Reset falling back to a stale selected-expense currency by @c3024 in https://github.com/Expensify/App/pull/97767
* Migrate Button to ButtonComposed (batch 4) in iou+txn by @mikolajpochec in https://github.com/Expensify/App/pull/96299
* fix: migrate NewChatPage to use useSearchSelector by @mkzie2 in https://github.com/Expensify/App/pull/95778
* Prevent uncaught removeChild error in safe area provider cleanup by @wildan-m in https://github.com/Expensify/App/pull/97595
* fix: Force close app then open, home page displays instead of onboarding modal by @nkdengineer in https://github.com/Expensify/App/pull/97443
* Workspaces - Wrong warning message when delete Workspace with Travel Invoicing enable by @lorretheboy in https://github.com/Expensify/App/pull/96872
* Render Skia web charts on a software surface when WebGL is unavailable by @wildan-m in https://github.com/Expensify/App/pull/97219
* Remove Onyx.connect() usage for ONYXKEYS.COLLECTION.POLICY_TAGS from src/libs/actions/IOU/index.ts in splitBill, splitBillAndOpenReport, createDistanceRequest by @jakubstec in https://github.com/Expensify/App/pull/97077
* Enable multiline GL account names in NetSuite AP Approval Account list by @MelvinBot in https://github.com/Expensify/App/pull/98093
* Refactor: migrate convertToDisplayString to useCurrencyListActions hook (part 18) by @shubham1206agra in https://github.com/Expensify/App/pull/98096
* Only check for valid phone number in the deposit bank account flow by @mountiny in https://github.com/Expensify/App/pull/97801
* Correct policy changelog report action system messages for: Workflows Submission frequency by @rayane-d in https://github.com/Expensify/App/pull/97921
* Concierge HTML tables: make the whole row clickable and align styling with other tables by @dukenv0307 in https://github.com/Expensify/App/pull/97670
* Changes to AUS corpay setup for certification by @madmax330 in https://github.com/Expensify/App/pull/97333
* Remove Onyx.connect() usage for ONYXKEYS.COLLECTION.POLICY_TAGS in getPerDiemExpenseInformation function from src/libs/actions/IOU/PerDiem.ts by @Guccio163 in https://github.com/Expensify/App/pull/98035
* Patch react-native-nitro-sqlite so failed ROLLBACKs stop masking real SQLite errors by @elirangoshen in https://github.com/Expensify/App/pull/97954
* Show selected saved view name in Search page header by @MelvinBot in https://github.com/Expensify/App/pull/97663
* [No QA] Add unit tests for getWorkspaceCustomUnitUpdatedMessage in ReportActionsUtils by @rayane-d in https://github.com/Expensify/App/pull/97917
* Refactor: ConfirmModal to useConfirmModal | Batch 4 by @mohammadjafarinejad in https://github.com/Expensify/App/pull/92236
* 🍒 Cherry pick PR #14052 to staging 🍒 by @os-botify[bot] in https://github.com/Expensify/App/pull/98313
* 🍒 Cherry pick PR #98338 to staging 🍒 by @os-botify[bot] in https://github.com/Expensify/App/pull/98342
* 🍒 Cherry pick PR #98346 to staging 🍒 by @os-botify[bot] in https://github.com/Expensify/App/pull/98377


**Full Changelog**: https://github.com/Expensify/App/compare/9.4.51-1...9.4.52-11