9.4.27-2
·
19997 commits
to production
since this release
What's Changed
- Add a tooltip on hover of the Paid report label by @dukenv0307 in #94690
- [Submit] Submit button with manager email prompt take 2 by @hungvu193 in #94392
- Decompose ReportActionsList: 10 by @LukasMod in #94149
- Decompose ReportActionsList: 11 by @LukasMod in #94817
- Fix: Delete error only shows the updated message after opening Expensify Card by @staszekscp in #94416
- [No QA] Always show switch to classic button in dev by @arosiclair in #94885
- Mark as done cta follow up 1 by @jayeshmangwani in #94413
- [Performance] Cancel telemetry span when user discards expense without submitting by @JakubKorytko in #94451
- Add allReportActionsList to updateSplitTransactions function by @cretadn22 in #94301
- Fix distance rate auto-selection and tax sync on date change by @Krishna2323 in #93237
- [NO QA] Prevent error on country selection screen when opened without a selected country by @blimpich in #94632
- Open parent report in super wide RHP from Home and fix background on refresh by @MelvinBot in #93614
- [Payment due @ikevin127] [No QA] Add directive to support blocking of BootSplash on devices with jailbreak by @mateuuszzzzz in #94701
- fix: The LHN within the Spend tab is not remembered when navigating to Inbox by @nkdengineer in #93396
- [CP Staging] Fix bank account label not showing in search bar after reopen by @allgandalf in #94987
- [No QA] perf: replace reduce with for-of in reportsByPolicyID to reduce GC pressure by @TMisiukiewicz in #94980
- Victory Chart: Legend overlaps x-axis labels on vertical charts by @lorretheboy in #94763
- Fix spend rule currency deploy blockers by @JS00001 in #94207
- Migrate ConnectToQuickbooksOnlineFlow and ConnectToXeroFlow to @react-navigation modal screens by @borys3kk in #92512
- [No QA] Request reviewers when a PR adds a new Onyx.connectWithoutView call by @cristipaval in #94846
- [Payment due @hoangzinh] Fixed Attendee type to match with BE by @shubham1206agra in #94784
- Fix workspaces list flash on narrow when creating a workspace by @sumo-slonik in #93915
- [No QA] fix: polar chart label spacing, text clarity by @daledah in #93245
- Refactor getLoginsByAccountIDs to accept personalDetailsList and update related usages by @bernhardoj in #94759
- Harden font loading for charts by @roryabraham in #93647
- Logged-out sign-in page URL shows /Home instead of root by @sumo-slonik in #94433
- Fix stale navigation and empty Plaid step on offline to online in USD VBBA by @VickyStash in #93037
- Pass originalReportActions from useOnyx to deleteReportComment by @bernhardoj in #94765
- Migrate workspace per diem page to the new Table component by @Krishna2323 in #94912
- [No QA] fix - NetworkTest flaky by @rinej in #94862
- Migrate InteractionManager - (Newly added usages) part 2 by @collectioneur in #94474
- Fix: show generic "Make admin" copy for group chat members by @MelvinBot in #94989
- Fix approval workflows help link to point to existing Add-Approvals article by @MelvinBot in #94397
- refactor: extract shared Search list view scaffold (hook + layout) by @BartekObudzinski in #94573
- Fix: Card name in card list and card name field are blank on admin side by @nyomanjyotisa in #93554
- Add Tag GL code column to expense tables by @mukhrr in #93146
- [No QA] Update submitter's ability to split expenses by @VictoriaExpensify in #94799
- Fix withdrawal subtitle overlapping amount on mobile Bank Reconciliation list by @MelvinBot in #94749
- Refactor settlement button to use dynamic verify account by @jmusial in #94177
- [No QA]Rename selectors/Attributes to ReportAttributes by @mountiny in #94838
- Move ONYXKEYS.DERIVED.FLAGGED_EXPENSES into custom hook by @LukasMod in #94299
- Reinitialize Pusher during delegate account transitions by @nabi-ebrahimi in #93265
- [Payment due @truph01] Fix attendees fallback by @lakchote in #94481
- Add customUnitRateOutOfDateRange violation for date-bound mileage rates by @Krishna2323 in #93555
- Add People Admin workspace approval access by @ShridharGoel in #92875
- Add conciergeReportID handling across various components by @cretadn22 in #94991
- refactor createDraftTransactionAndNavigateToParticipantSelector to use useOnyx data by @daledah in #93550
- fix: Wallet - "Choose an account" page shows extra left margin by @mhawryluk in #94680
- refactor isReportInGroupPolicy to use isGroupPolicy instead part 2 by @daledah in #93549
- Fix duplicate supportal sign-in that trips the support-token rate limit by @allgandalf in #95042
- Fix duplicate Limit type row after revealing virtual card details by @MelvinBot in #94068
- Require date in new manual expense flow for distance, time, and invoice by @MelvinBot in #94545
- [Onyx bump] Bump react-native-onyx from 3.0.86 to 3.0.88 by @elirangoshen in #95044
- [No QA] Import CLI, SafeString, and Str.dedent from expensify-common by @roryabraham in #93222
- [No QA] Gate git fetch --depth=1 behind CI to avoid shallowing local clones by @MelvinBot in #95073
- [Payment due @QichenZhu] Update Announcements widget with June 30 newsletter by @MelvinBot in #95055
- Migrate InteractionManager - (Newly added usages) batch 1 by @mrejdak in #94171
- Part 2: Remove Onyx.connect() for the key: ONYXKEYS.NETWORK in src/libs/ReportActionsUtils.ts by @thelullabyy in #92899
- Hide the Agent rules enforced-by row when RuleBot is removed by @yuwenmemon in #94663
- Fix workspace LHN order: Receipt Partners before HR by @MelvinBot in #94798
- fix: show Per Diem tab for members whose policy is missing arePerDiemRatesEnabled by @mukhrr in #94692
- [Payment due @truph01] [No QA] Docs updates for E/A#92275 bulk Download as PDF for reports by @MelvinBot in #94228
- Docs updates for E/A#93451 Add Recently added slot to Home Overview by @MelvinBot in #94230
- [No QA] Docs updates for E/A#93937 saved searches sorted alphabetically by @MelvinBot in #94231
- [Rules Revamp] Release 2: Move category-based creation into Rules; add Require fields and Flag for review by @Krishna2323 in #94696
- [No QA] Docs updates for E/A#94131 surface RuleBot in Agent rules section by @MelvinBot in #94636
- fix: Created expense at submitted report then create expense at ws chat add to the submitted report by @nkdengineer in #93783
- Guard P2P participant selection against negative-amount expenses from self DM by @MelvinBot in #94661
- Add Rillet integration by @s77rt in #93897
- [No QA] Block eslint-disable bypasses of the Onyx.connect() ban by @cristipaval in #94829
- [Payment due @daledah] Add certificate pinning for NewDot by @staszekscp in #92503
- [CP Staging] Fix bulk delete in Search dropping deletions during confirm modal dismiss by @MelvinBot in #95130
- migrate workspace company cards by @huult in #94280
- 83833 migrate tags part 2 by @huult in #94935
- Make Attendees and Per attendee columns sortable in expense report view by @MelvinBot in #94511
- [No QA] Add support for dynamic routes that host an onyx tab navigator by @collectioneur in #94172
- refactor navigateToAndCreateGroupChat to use useOnyx data by @daledah in #94431
- [No QA] Fix flaky SessionTest timeout on CI job 8 by @marcochavezf in #95153
- [NoQA] feat: add ME PR support to Publish React Native Android Artifacts workflow by @jakubstec in #95142
- [Performance] Reduce
DEFAULThandler fallthrough for unrecognized-tab submissions by @JakubKorytko in #94454 - [Payment due @ZhenjaHorbach] Fix domain force-2FA disable routing by avoiding dynamic suffix collision by @mountiny in #95040
- [No QA] Docs updates for E/A#92289 legal name and physical address VBBA copy by @MelvinBot in #94501
- [CP Staging] Fix missing per diem subtitle on Android by re-adding flexRow wrapper by @MelvinBot in #95164
- [No QA] Fix remote iOS build by @staszekscp in #95167
- refactor: add dedicated ChatSearchView by @BartekObudzinski in #94816
- [CP Staging] [Submit] Fix blockers for submit email submitter by @hungvu193 in #95115
- Show workspace owner as Editor in Members tab on Submit workspaces by @carlosmiceli in #95064
- [CP Staging] Fix marking an unread message as unread does not mark the conversation as unread by @VickyStash in #95166
- [Submit] Show "Needs approval" for Submit approvers in Search/Spend by @abzokhattab in #94610
- refactor: add dedicated ExpenseGroupedSearchView by @BartekObudzinski in #95028
- Removed useOptionsList hook from the codebase by @shubham1206agra in #94883
- Use freshly computed report totals from backend instead of potentially stale stored total by @allgandalf in #91798
- [NoQA] Fix duplicate searchListContent declaration breaking main typecheck/lint by @mountiny in #95189
- fix: Home - Action button disappears the second time an expense is opened from "Recently Added" by @mhawryluk in #94466
- refactor: add dedicated ExpenseReportSearchView by @BartekObudzinski in #94822
- [No QA] feat: add telemetry span for Share Extension submit flow by @jmgraa in #94948
- Revert "[CP Staging] Fix bulk delete in Search dropping deletions during confirm modal dismiss" by @cristipaval in #95198
- [CP Staging] Fix: open flagged expense thread when its report holds multiple transactions by @MelvinBot in #95163
- refactor: add dedicated TaskSearchView by @BartekObudzinski in #94820
- [No QA] Remove stale throttled translation key by @heekinho in #95020
- Remove Onyx.connect() usage for ONYXKEYS.COLLECTION.POLICY_TAGS in updateSplitTransactions function from src/libs/actions/IOU/SplitTransactionUpdate.ts by @Guccio163 in #89759
- [Payment due @ikevin127] Optimistically show thinking indicator in custom agent dms by @inimaga in #94982
- Skip Skia web charts when WebGL shader precision is unavailable by @wildan-m in #92874
- Move pre-selected vacation delegates and workspace members to top by @marufsharifi in #92765
- [No QA] Revert "Restore ios/CertificatePinning.swift to match main" by @Guccio163 in #95215
- Show card name on narrow Expensify Card table rows by @luacmartins in #95009
- Refactor: migrate getRate to use usePersonalPolicy hook (part 3) by @shubham1206agra in #95067
- Preserve Search context when leaving a thread by @marufsharifi in #94114
- [NoQA] [HR Import] Error states + reconnect prompt on the HR card by @mhawryluk in #91975
- Fix - Chat - Unread marker is not displayed when receiving messages on a new conversation. by @FitseTLT in #94460
- [CP Staging] Fix Spend-Not able to delete expenses in bulk in Spend by @hungvu193 in #95220
- Truncate long RuleBot name in Agent rules Enforced by pill by @MelvinBot in #94837
- [No QA] Replace Copy AgentZero request ID with View AgentZero trace by @jasperhuangg in #95074
- [No QA] docs: set threshold for ShareExtensionOpenSubmitFlow by @jmgraa in #95205
- Refactor: migrate getRate to use usePersonalPolicy hook (part 2) by @shubham1206agra in #95052
- [No QA] Docs updates for E/A#86932 disabled category and tag expense alerts by @MelvinBot in #93865
- [No QA] Docs updates for E/A#93941 Workspace member role filter availability and reset by @MelvinBot in #94067
- Add policy copy change log messages by @shubham1206agra in #94189
- [No QA] Docs updates for E/A#93884 future-dated card transaction start dates by @MelvinBot in #94065
- Fix flickering lock icon on Consolidated Travel Billing toggle by @allgandalf in #95047
- feat(card): prompt for personal details before virtual card reveal by @DylanDylann in #91634
- [No QA] Support Dual-Initial Avatars in App by @grgia in #94567
- Fix: include member workspace chats in search router for admins by @MelvinBot in #92226
- [No QA] Upgrade eslint-config-expensify to 4.0.6 by @roryabraham in #93333
- Fix Share button being unresponsive when sharing an image to a new email by @MelvinBot in #94905
- [No QA] Improve Copilot feature documentation and discoverability by @MelvinBot in #91786
- Enhance odometer reading handling by introducing a baseline compariso… by @DylanDylann in #95039
- fix: back button issue when opening concierge by @truph01 in #94660
- Fix iOS freeze on locked-account pay in selection mode (#95026) by @Krishna2323 in #95063
- Fix Blank space is shown below the empty state content by @GCyganek in #94151
- [No QA] Fix broken OptionsListUtils test and repo-wide ESLint resolution error by @jasperhuangg in #95244
- [No QA] Switch from Prettier to Oxfmt by @roryabraham in #93994
- [No QA] Extend Oxfmt formatting to YAML files by @roryabraham in #95254
- [No QA] Add lefthook pre-commit hook for oxfmt by @roryabraham in #95255
- [CP Staging] Revert PR #94784 to stop loginToAccountIDMap massive logs by @mountiny in #95233
- [No QA] Use oxfmt instead of prettier in Claude auto-format hook by @roryabraham in #95263
- [No QA] Add YAML to lefthook oxfmt glob by @roryabraham in #95264
- Update Original to Purchase in expense thread for Expensify Cards by @MelvinBot in #88002
- [No QA] Clarify card request process in documentation by @stephanieelliott in #94141
- added first approver and first approved columns by @mukhrr in #93169
- Recalculate split shares to 0 when clearing the amount field by @MelvinBot in #95236
- [CP Staging + Prod] Revert "feat: Enable react-native-nitro-fetch (V2)" by @mountiny in #95284
- Getting started: show Issue Expensify cards step when Expensify Card is selected during onboarding by @MelvinBot in #94423
- perf(search): replace useTransition with TransitionTracker for autocomplete list render by @WojtekBoman in #94875
- [No QA] Growl: add action button and loading variant by @borys3kk in #94865
- Replace getDisplayNameOrDefault with temporaryGetDisplayNameOrDefault - batch 2 by @cretadn22 in #94990
New Contributors
Full Changelog: 9.4.25-2...9.4.27-2