[PR #6282] [MERGED] Add find and replace (with RegEx support) mode when editing transaction notes #25036

Closed
opened 2026-04-16 18:22:11 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/actualbudget/actual/pull/6282
Author: @matt8100
Created: 12/2/2025
Status: Merged
Merged: 1/5/2026
Merged by: @youngcw

Base: masterHead: find-and-replace


📝 Commits (10+)

📊 Changes

20 files changed (+223 additions, -141 deletions)

View changed files

📝 packages/desktop-client/e2e/transactions.mobile.test.ts-snapshots/Mobile-Transactions-creates-a-transaction-from-accounts-id-page-1-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/transactions.mobile.test.ts-snapshots/Mobile-Transactions-creates-a-transaction-from-accounts-id-page-2-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/transactions.mobile.test.ts-snapshots/Mobile-Transactions-creates-a-transaction-from-accounts-id-page-3-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/transactions.mobile.test.ts-snapshots/Mobile-Transactions-creates-a-transaction-via-footer-button-1-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/transactions.mobile.test.ts-snapshots/Mobile-Transactions-creates-a-transaction-via-footer-button-2-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/transactions.mobile.test.ts-snapshots/Mobile-Transactions-creates-a-transaction-via-footer-button-3-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/transactions.mobile.test.ts-snapshots/Mobile-Transactions-creates-a-transaction-via-footer-button-4-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/transactions.mobile.test.ts-snapshots/Mobile-Transactions-creates-a-transaction-via-footer-button-5-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/transactions.test.ts-snapshots/Transactions-checks-the-page-visuals-1-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/transactions.test.ts-snapshots/Transactions-checks-the-page-visuals-2-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/transactions.test.ts-snapshots/Transactions-checks-the-page-visuals-3-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/transactions.test.ts-snapshots/Transactions-filters-transactions-by-date-4-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/transactions.test.ts-snapshots/Transactions-filters-transactions-by-date-5-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/transactions.test.ts-snapshots/Transactions-filters-transactions-by-date-6-chromium-linux.png (+0 -0)
📝 packages/desktop-client/src/components/mobile/transactions/TransactionEdit.tsx (+31 -17)
📝 packages/desktop-client/src/components/modals/EditFieldModal.tsx (+125 -112)
📝 packages/desktop-client/src/hooks/useTransactionBatchActions.ts (+32 -7)
📝 packages/desktop-client/src/modals/modalsSlice.ts (+12 -5)
📝 packages/loot-core/src/shared/util.ts (+17 -0)
upcoming-release-notes/6282.md (+6 -0)

📄 Description

Adds a Find and Replace mode in EditFieldModal for the notes field. Optionally allows RegEx

Animation


Note

Adds a Find & Replace mode (with optional regex) for transaction notes, wired into single and batch edits.

  • UI/Editing:
    • EditFieldModal: adds note amend mode "findAndReplace" with optional regex, new Find/Replace inputs, validation, and unified mode buttons.
    • TransactionEdit (mobile) and useTransactionBatchActions: apply find-and-replace to notes on submit, including regex handling.
    • modalsSlice: expands edit-field modal types to support new mode and value shape.
  • Utilities:
    • loot-core/shared/util: adds applyFindReplace(text, find, replace, useRegex) helper.
  • Docs:
    • Adds release note entry upcoming-release-notes/6282.md.

Written by Cursor Bugbot for commit 3582ad14f2. This will update automatically on new commits. Configure here.

Summary by CodeRabbit

  • New Features

    • Added Find & Replace functionality for transaction notes, including optional regular expression (regex) support for advanced pattern matching.
  • Improvements

    • Enhanced note editing modal with dedicated Find and Replace input fields and improved button layout.

✏️ Tip: You can customize this high-level summary in your review settings.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/actualbudget/actual/pull/6282 **Author:** [@matt8100](https://github.com/matt8100) **Created:** 12/2/2025 **Status:** ✅ Merged **Merged:** 1/5/2026 **Merged by:** [@youngcw](https://github.com/youngcw) **Base:** `master` ← **Head:** `find-and-replace` --- ### 📝 Commits (10+) - [`43694d8`](https://github.com/actualbudget/actual/commit/43694d87a9881c9392c7bd90a1cfc1510e03ead6) prevent hidden toggle input from taking space - [`0072c60`](https://github.com/actualbudget/actual/commit/0072c6084a69a406fdda38406ca7ce9e62374836) add find and replace to edit notes modal - [`44097e4`](https://github.com/actualbudget/actual/commit/44097e446e83e992a5eb2ea7f49e2f6c339cc50c) make mode buttons same height - [`ceb3cc2`](https://github.com/actualbudget/actual/commit/ceb3cc2e4ef127dd1a7fa7ddb9b0ea9c45669913) add release note - [`3b9b4b0`](https://github.com/actualbudget/actual/commit/3b9b4b02f0caab9bce6d3a03a4ab98c3f9da5201) fix PR number - [`06fb814`](https://github.com/actualbudget/actual/commit/06fb814c57707886b4708ab7990dd4fb26e1f388) Update VRT screenshots - [`2bd4777`](https://github.com/actualbudget/actual/commit/2bd47777c4e52c5527143aedd5062661cbe14aae) use checkbox instead of mobile toggle - [`3f7bb52`](https://github.com/actualbudget/actual/commit/3f7bb522df97798b9c0df899b59ec9679bc55000) typo - [`eac1da9`](https://github.com/actualbudget/actual/commit/eac1da921db26677243634f42e1a280221e89563) Update VRT screenshots - [`23b2afd`](https://github.com/actualbudget/actual/commit/23b2afd7ae8b79c77227ed6d7e904e520b29fed3) fix import ### 📊 Changes **20 files changed** (+223 additions, -141 deletions) <details> <summary>View changed files</summary> 📝 `packages/desktop-client/e2e/transactions.mobile.test.ts-snapshots/Mobile-Transactions-creates-a-transaction-from-accounts-id-page-1-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/transactions.mobile.test.ts-snapshots/Mobile-Transactions-creates-a-transaction-from-accounts-id-page-2-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/transactions.mobile.test.ts-snapshots/Mobile-Transactions-creates-a-transaction-from-accounts-id-page-3-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/transactions.mobile.test.ts-snapshots/Mobile-Transactions-creates-a-transaction-via-footer-button-1-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/transactions.mobile.test.ts-snapshots/Mobile-Transactions-creates-a-transaction-via-footer-button-2-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/transactions.mobile.test.ts-snapshots/Mobile-Transactions-creates-a-transaction-via-footer-button-3-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/transactions.mobile.test.ts-snapshots/Mobile-Transactions-creates-a-transaction-via-footer-button-4-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/transactions.mobile.test.ts-snapshots/Mobile-Transactions-creates-a-transaction-via-footer-button-5-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/transactions.test.ts-snapshots/Transactions-checks-the-page-visuals-1-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/transactions.test.ts-snapshots/Transactions-checks-the-page-visuals-2-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/transactions.test.ts-snapshots/Transactions-checks-the-page-visuals-3-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/transactions.test.ts-snapshots/Transactions-filters-transactions-by-date-4-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/transactions.test.ts-snapshots/Transactions-filters-transactions-by-date-5-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/transactions.test.ts-snapshots/Transactions-filters-transactions-by-date-6-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/src/components/mobile/transactions/TransactionEdit.tsx` (+31 -17) 📝 `packages/desktop-client/src/components/modals/EditFieldModal.tsx` (+125 -112) 📝 `packages/desktop-client/src/hooks/useTransactionBatchActions.ts` (+32 -7) 📝 `packages/desktop-client/src/modals/modalsSlice.ts` (+12 -5) 📝 `packages/loot-core/src/shared/util.ts` (+17 -0) ➕ `upcoming-release-notes/6282.md` (+6 -0) </details> ### 📄 Description Adds a Find and Replace mode in `EditFieldModal` for the notes field. Optionally allows RegEx ![Animation](https://github.com/user-attachments/assets/e828824c-0b0c-462a-83bd-353d967f55c3) <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Adds a Find & Replace mode (with optional regex) for transaction notes, wired into single and batch edits. > > - **UI/Editing**: > - `EditFieldModal`: adds note amend mode "findAndReplace" with optional regex, new Find/Replace inputs, validation, and unified mode buttons. > - `TransactionEdit` (mobile) and `useTransactionBatchActions`: apply find-and-replace to `notes` on submit, including regex handling. > - `modalsSlice`: expands `edit-field` modal types to support new mode and value shape. > - **Utilities**: > - `loot-core/shared/util`: adds `applyFindReplace(text, find, replace, useRegex)` helper. > - **Docs**: > - Adds release note entry `upcoming-release-notes/6282.md`. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 3582ad14f25643bd32cd07cff45c59aaea71e50b. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added Find & Replace functionality for transaction notes, including optional regular expression (regex) support for advanced pattern matching. * **Improvements** * Enhanced note editing modal with dedicated Find and Replace input fields and improved button layout. <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai --> --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-04-16 18:22:11 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#25036