[PR #6620] [MERGED] Add Notes to Monthly Budget Cell #68999

Closed
opened 2026-05-14 03:40:44 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/actualbudget/actual/pull/6620
Author: @erwannc
Created: 1/11/2026
Status: Merged
Merged: 3/19/2026
Merged by: @youngcw

Base: masterHead: erwannc/add-notes-to-budget-cell


📝 Commits (10+)

  • b5bca5a Add Notes to Monthly Budget Cell
  • 4d88a5d Fixed rebase errors
  • 0a7ae0b Merge branch 'master' into erwannc/add-notes-to-budget-cell
  • 9ea5b36 Update VRT screenshots
  • 8938b9a Merge branch 'master' into erwannc/add-notes-to-budget-cell
  • fd2cb7b Merge branch 'master' into erwannc/add-notes-to-budget-cell
  • 4feb892 Merge branch 'master' into erwannc/add-notes-to-budget-cell
  • 6749d63 Addressed youngcw's comments (notes id format, notesButton defaultColor and modal layout)
  • a021515 Merge branch 'master' into erwannc/add-notes-to-budget-cell
  • b5ac6de Update VRT screenshots

📊 Changes

17 files changed (+429 additions, -158 deletions)

View changed files

📝 packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Envelope-checks-that-clicking-the-budgeted-cell-opens-the-budget-menu-modal-1-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Envelope-checks-that-clicking-the-budgeted-cell-opens-the-budget-menu-modal-2-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Envelope-checks-that-clicking-the-budgeted-cell-opens-the-budget-menu-modal-3-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Tracking-checks-that-clicking-the-budgeted-cell-opens-the-budget-menu-modal-1-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Tracking-checks-that-clicking-the-budgeted-cell-opens-the-budget-menu-modal-2-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Tracking-checks-that-clicking-the-budgeted-cell-opens-the-budget-menu-modal-3-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/budget.test.ts-snapshots/Budget-transfer-funds-to-another-category-1-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/budget.test.ts-snapshots/Budget-transfer-funds-to-another-category-2-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/budget.test.ts-snapshots/Budget-transfer-funds-to-another-category-3-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/page-models/mobile-budget-menu-modal.ts (+13 -0)
📝 packages/desktop-client/src/components/budget/envelope/EnvelopeBudgetComponents.tsx (+88 -72)
📝 packages/desktop-client/src/components/budget/tracking/TrackingBudgetComponents.tsx (+85 -64)
📝 packages/desktop-client/src/components/mobile/budget/BudgetCell.tsx (+31 -0)
📝 packages/desktop-client/src/components/modals/EnvelopeBudgetMenuModal.tsx (+102 -11)
📝 packages/desktop-client/src/components/modals/TrackingBudgetMenuModal.tsx (+102 -11)
📝 packages/desktop-client/src/modals/modalsSlice.ts (+2 -0)
upcoming-release-notes/6620.md (+6 -0)

📄 Description

Add Notes to Monthly Budget Cell

Overview

I'd like to be able to add notes to individual monthly budget cells.
It would help remember why a given budget was allocated on a given month.
At the moment I'm working around it by adding entries with dates in the category note.

This pull request introduces the ability for users to add, view, and manage notes directly on individual budget cells within the envelope budgeting interface of Actual Budget. The goal is to enhance contextual annotation for monthly budgeting categories.

image image image

Key Changes

  • UI Enhancement:

    • Integrated a NotesButton component into each category/month cell in the budget grid, providing a clear entry point for accessing and editing cell-specific notes.
    • Applied visual adjustments to maintain alignment, spacing, and consistency with the existing budget table UI.
    • Also added support for the mobile version, reusing the UI pattern used for the category notes
  • Component Updates:

    • EnvelopeBudgetComponents.tsx, TrackingBudgetComponents.tsx added support for notes in non-editing states of budget category rows.
      • Modified flexbox styles and borders in relevant containers to accommodate the note icon without disrupting layout.
      • Updated popover and menu logic to relax restrictions and ensure notes can be independently accessed beside other cell actions.
    • mobile/budget/BudgetCell.tsx, EnvelopeBudgetMenuModal.tsx, TrackingBudgetMenuModal.tsx
      • Added mobile support
  • Supporting Infrastructure:

    • Extended type definitions and bindings as needed to propagate note state and actions through the relevant React components.

QA & Testing

  • Tested on both light and dark themes
  • Tested in mobile and desktop mode
  • Interacted with various category/month combinations, ensuring stable behavior in both editing and non-editing states
  • Verified keyboard navigation and accessibility
  • No breaking changes to API or data structures

Bundle Stats

Bundle Files count Total bundle size % Changed
desktop-client 26 11.84 MB → 11.85 MB (+6.74 kB) +0.06%
loot-core 1 4.83 MB 0%
api 4 4.05 MB 0%
View detailed bundle stats

desktop-client

Total

Files count Total bundle size % Changed
26 11.84 MB → 11.85 MB (+6.74 kB) +0.06%
Changeset
File Δ Size
src/components/modals/TrackingBudgetMenuModal.tsx 📈 +2.66 kB (+77.85%) 3.41 kB → 6.07 kB
src/components/modals/EnvelopeBudgetMenuModal.tsx 📈 +2.66 kB (+77.80%) 3.41 kB → 6.07 kB
src/components/mobile/budget/BudgetCell.tsx 📈 +666 B (+14.70%) 4.42 kB → 5.08 kB
src/components/budget/tracking/TrackingBudgetComponents.tsx 📈 +412 B (+2.27%) 17.76 kB → 18.16 kB
src/components/budget/envelope/EnvelopeBudgetComponents.tsx 📈 +382 B (+1.38%) 27.1 kB → 27.48 kB
View detailed bundle breakdown

Added
No assets were added

Removed
No assets were removed

Bigger

Asset File Size % Changed
static/js/index.js 3.22 MB → 3.22 MB (+5.71 kB) +0.17%
static/js/narrow.js 353.47 kB → 354.12 kB (+666 B) +0.18%
static/js/useTransactionBatchActions.js 4.27 MB → 4.27 MB (+382 B) +0.01%

Smaller
No assets were smaller

Unchanged

Asset File Size % Changed
static/js/BackgroundImage.js 119.98 kB 0%
static/js/FormulaEditor.js 720.12 kB 0%
static/js/ReportRouter.js 1021.25 kB 0%
static/js/TransactionList.js 81.29 kB 0%
static/js/ca.js 185.62 kB 0%
static/js/da.js 104.66 kB 0%
static/js/de.js 177.63 kB 0%
static/js/en-GB.js 7.16 kB 0%
static/js/en.js 169.27 kB 0%
static/js/es.js 172.13 kB 0%
static/js/fr.js 177.63 kB 0%
static/js/indexeddb-main-thread-worker-e59fee74.js 13.46 kB 0%
static/js/it.js 168.97 kB 0%
static/js/nb-NO.js 154.72 kB 0%
static/js/nl.js 111.58 kB 0%
static/js/pl.js 88.34 kB 0%
static/js/pt-BR.js 180.55 kB 0%
static/js/resize-observer.js 18.03 kB 0%
static/js/th.js 179.94 kB 0%
static/js/theme.js 30.68 kB 0%
static/js/uk.js 213.14 kB 0%
static/js/wide.js 418 B 0%
static/js/workbox-window.prod.es5.js 7.28 kB 0%

loot-core

Total

Files count Total bundle size % Changed
1 4.83 MB 0%
View detailed bundle breakdown

Added
No assets were added

Removed
No assets were removed

Bigger
No assets were bigger

Smaller
No assets were smaller

Unchanged

Asset File Size % Changed
kcab.worker.BN7f5Rmg.js 4.83 MB 0%

api

Total

Files count Total bundle size % Changed
4 4.05 MB 0%
View detailed bundle breakdown

Added
No assets were added

Removed
No assets were removed

Bigger
No assets were bigger

Smaller
No assets were smaller

Unchanged

Asset File Size % Changed
index.js 3.84 MB 0%
from-Bl-Hslp4.js 167.73 kB 0%
multipart-parser-BnDysoMr.js 8.1 kB 0%
src-iMkUmuwR.js 43.64 kB 0%

🔄 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/6620 **Author:** [@erwannc](https://github.com/erwannc) **Created:** 1/11/2026 **Status:** ✅ Merged **Merged:** 3/19/2026 **Merged by:** [@youngcw](https://github.com/youngcw) **Base:** `master` ← **Head:** `erwannc/add-notes-to-budget-cell` --- ### 📝 Commits (10+) - [`b5bca5a`](https://github.com/actualbudget/actual/commit/b5bca5a012020d074cd60476f5bb3249119ad0f6) Add Notes to Monthly Budget Cell - [`4d88a5d`](https://github.com/actualbudget/actual/commit/4d88a5daab74f310cd13838b80762cb4c43de099) Fixed rebase errors - [`0a7ae0b`](https://github.com/actualbudget/actual/commit/0a7ae0b8144b71ae8bf72dd61ff2188e1bfe9776) Merge branch 'master' into erwannc/add-notes-to-budget-cell - [`9ea5b36`](https://github.com/actualbudget/actual/commit/9ea5b3630f32ea30b3951d382248de06a4a32477) Update VRT screenshots - [`8938b9a`](https://github.com/actualbudget/actual/commit/8938b9aaca1b36af64ec20c1fe0deb5f9543108c) Merge branch 'master' into erwannc/add-notes-to-budget-cell - [`fd2cb7b`](https://github.com/actualbudget/actual/commit/fd2cb7b1773db9aa5d4daa495ba21400b6122e61) Merge branch 'master' into erwannc/add-notes-to-budget-cell - [`4feb892`](https://github.com/actualbudget/actual/commit/4feb8925ab96a50cb66b428e1d0a74c4ccbb2101) Merge branch 'master' into erwannc/add-notes-to-budget-cell - [`6749d63`](https://github.com/actualbudget/actual/commit/6749d632e38656e9f55bd979fdec79db3c8b92bc) Addressed youngcw's comments (notes id format, notesButton defaultColor and modal layout) - [`a021515`](https://github.com/actualbudget/actual/commit/a021515c82732f3c7c5e6c82fba5ab1cae82ba40) Merge branch 'master' into erwannc/add-notes-to-budget-cell - [`b5ac6de`](https://github.com/actualbudget/actual/commit/b5ac6deadc68c489837e16d802f3cfd7ec0e336e) Update VRT screenshots ### 📊 Changes **17 files changed** (+429 additions, -158 deletions) <details> <summary>View changed files</summary> 📝 `packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Envelope-checks-that-clicking-the-budgeted-cell-opens-the-budget-menu-modal-1-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Envelope-checks-that-clicking-the-budgeted-cell-opens-the-budget-menu-modal-2-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Envelope-checks-that-clicking-the-budgeted-cell-opens-the-budget-menu-modal-3-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Tracking-checks-that-clicking-the-budgeted-cell-opens-the-budget-menu-modal-1-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Tracking-checks-that-clicking-the-budgeted-cell-opens-the-budget-menu-modal-2-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/budget.mobile.test.ts-snapshots/Mobile-Budget-Tracking-checks-that-clicking-the-budgeted-cell-opens-the-budget-menu-modal-3-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/budget.test.ts-snapshots/Budget-transfer-funds-to-another-category-1-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/budget.test.ts-snapshots/Budget-transfer-funds-to-another-category-2-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/budget.test.ts-snapshots/Budget-transfer-funds-to-another-category-3-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/page-models/mobile-budget-menu-modal.ts` (+13 -0) 📝 `packages/desktop-client/src/components/budget/envelope/EnvelopeBudgetComponents.tsx` (+88 -72) 📝 `packages/desktop-client/src/components/budget/tracking/TrackingBudgetComponents.tsx` (+85 -64) 📝 `packages/desktop-client/src/components/mobile/budget/BudgetCell.tsx` (+31 -0) 📝 `packages/desktop-client/src/components/modals/EnvelopeBudgetMenuModal.tsx` (+102 -11) 📝 `packages/desktop-client/src/components/modals/TrackingBudgetMenuModal.tsx` (+102 -11) 📝 `packages/desktop-client/src/modals/modalsSlice.ts` (+2 -0) ➕ `upcoming-release-notes/6620.md` (+6 -0) </details> ### 📄 Description # Add Notes to Monthly Budget Cell ## Overview I'd like to be able to add notes to individual monthly budget cells. It would help remember why a given budget was allocated on a given month. At the moment I'm working around it by adding entries with dates in the category note. This pull request introduces the ability for users to add, view, and manage notes directly on individual budget cells within the envelope budgeting interface of Actual Budget. The goal is to enhance contextual annotation for monthly budgeting categories. <img width="1192" height="262" alt="image" src="https://github.com/user-attachments/assets/32507734-5ab2-486b-a3d9-c8474438e5c1" /> <img width="482" height="323" alt="image" src="https://github.com/user-attachments/assets/65576cfa-7740-4ae5-a89a-2947e5eb9972" /> <img height="300" alt="image" src="https://github.com/user-attachments/assets/e33691b9-ba59-4e2b-bd90-0e923bf4ab40" /> ## Key Changes - __UI Enhancement:__ - Integrated a `NotesButton` component into each category/month cell in the budget grid, providing a clear entry point for accessing and editing cell-specific notes. - Applied visual adjustments to maintain alignment, spacing, and consistency with the existing budget table UI. - Also added support for the mobile version, reusing the UI pattern used for the category notes - __Component Updates:__ - `EnvelopeBudgetComponents.tsx`, `TrackingBudgetComponents.tsx` added support for notes in non-editing states of budget category rows. - Modified flexbox styles and borders in relevant containers to accommodate the note icon without disrupting layout. - Updated popover and menu logic to relax restrictions and ensure notes can be independently accessed beside other cell actions. - `mobile/budget/BudgetCell.tsx`, `EnvelopeBudgetMenuModal.tsx`, `TrackingBudgetMenuModal.tsx` - Added mobile support - __Supporting Infrastructure:__ - Extended type definitions and bindings as needed to propagate note state and actions through the relevant React components. ## QA & Testing - Tested on both light and dark themes - Tested in mobile and desktop mode - Interacted with various category/month combinations, ensuring stable behavior in both editing and non-editing states - Verified keyboard navigation and accessibility - No breaking changes to API or data structures <!--- actual-bot-sections ---> <hr /> <!--- bundlestats-action-comment key:combined start ---> ### Bundle Stats Bundle | Files count | Total bundle size | % Changed ------ | ----------- | ----------------- | --------- desktop-client | 26 | 11.84 MB → 11.85 MB (+6.74 kB) | +0.06% loot-core | 1 | 4.83 MB | 0% api | 4 | 4.05 MB | 0% <details> <summary>View detailed bundle stats</summary> #### desktop-client **Total** Files count | Total bundle size | % Changed ----------- | ----------------- | --------- 26 | 11.84 MB → 11.85 MB (+6.74 kB) | +0.06% <details> <summary>Changeset</summary> File | Δ | Size ---- | - | ---- `src/components/modals/TrackingBudgetMenuModal.tsx` | 📈 +2.66 kB (+77.85%) | 3.41 kB → 6.07 kB `src/components/modals/EnvelopeBudgetMenuModal.tsx` | 📈 +2.66 kB (+77.80%) | 3.41 kB → 6.07 kB `src/components/mobile/budget/BudgetCell.tsx` | 📈 +666 B (+14.70%) | 4.42 kB → 5.08 kB `src/components/budget/tracking/TrackingBudgetComponents.tsx` | 📈 +412 B (+2.27%) | 17.76 kB → 18.16 kB `src/components/budget/envelope/EnvelopeBudgetComponents.tsx` | 📈 +382 B (+1.38%) | 27.1 kB → 27.48 kB </details> <details> <summary>View detailed bundle breakdown</summary> <div> **Added** No assets were added **Removed** No assets were removed **Bigger** Asset | File Size | % Changed ----- | --------- | --------- static/js/index.js | 3.22 MB → 3.22 MB (+5.71 kB) | +0.17% static/js/narrow.js | 353.47 kB → 354.12 kB (+666 B) | +0.18% static/js/useTransactionBatchActions.js | 4.27 MB → 4.27 MB (+382 B) | +0.01% **Smaller** No assets were smaller **Unchanged** Asset | File Size | % Changed ----- | --------- | --------- static/js/BackgroundImage.js | 119.98 kB | 0% static/js/FormulaEditor.js | 720.12 kB | 0% static/js/ReportRouter.js | 1021.25 kB | 0% static/js/TransactionList.js | 81.29 kB | 0% static/js/ca.js | 185.62 kB | 0% static/js/da.js | 104.66 kB | 0% static/js/de.js | 177.63 kB | 0% static/js/en-GB.js | 7.16 kB | 0% static/js/en.js | 169.27 kB | 0% static/js/es.js | 172.13 kB | 0% static/js/fr.js | 177.63 kB | 0% static/js/indexeddb-main-thread-worker-e59fee74.js | 13.46 kB | 0% static/js/it.js | 168.97 kB | 0% static/js/nb-NO.js | 154.72 kB | 0% static/js/nl.js | 111.58 kB | 0% static/js/pl.js | 88.34 kB | 0% static/js/pt-BR.js | 180.55 kB | 0% static/js/resize-observer.js | 18.03 kB | 0% static/js/th.js | 179.94 kB | 0% static/js/theme.js | 30.68 kB | 0% static/js/uk.js | 213.14 kB | 0% static/js/wide.js | 418 B | 0% static/js/workbox-window.prod.es5.js | 7.28 kB | 0% </div> </details> --- #### loot-core **Total** Files count | Total bundle size | % Changed ----------- | ----------------- | --------- 1 | 4.83 MB | 0% <details> <summary>View detailed bundle breakdown</summary> <div> **Added** No assets were added **Removed** No assets were removed **Bigger** No assets were bigger **Smaller** No assets were smaller **Unchanged** Asset | File Size | % Changed ----- | --------- | --------- kcab.worker.BN7f5Rmg.js | 4.83 MB | 0% </div> </details> --- #### api **Total** Files count | Total bundle size | % Changed ----------- | ----------------- | --------- 4 | 4.05 MB | 0% <details> <summary>View detailed bundle breakdown</summary> <div> **Added** No assets were added **Removed** No assets were removed **Bigger** No assets were bigger **Smaller** No assets were smaller **Unchanged** Asset | File Size | % Changed ----- | --------- | --------- index.js | 3.84 MB | 0% from-Bl-Hslp4.js | 167.73 kB | 0% multipart-parser-BnDysoMr.js | 8.1 kB | 0% src-iMkUmuwR.js | 43.64 kB | 0% </div> </details> </details> <!--- bundlestats-action-comment key:combined end ---> --- <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-05-14 03:40:44 -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#68999