[PR #7497] [MERGED] Addition of scoped ErrorBoundarys per #7391 #49027

Closed
opened 2026-04-26 10:53:33 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/actualbudget/actual/pull/7497
Author: @tempiz
Created: 4/14/2026
Status: Merged
Merged: 4/17/2026
Merged by: @MatissJanis

Base: masterHead: ErrorBoundaries


📝 Commits (4)

  • 0811e18 Addition of scoped ErrorBoundarys per 7391
  • 1fdeeb9 Merge branch 'actualbudget:master' into ErrorBoundaries
  • b38ae33 Adjusted to use FeatureErrorfallback from #7437
  • 4a334e4 Merge branch 'master' into ErrorBoundaries

📊 Changes

7 files changed (+246 additions, -211 deletions)

View changed files

📝 packages/desktop-client/src/components/ManageRulesPage.tsx (+8 -3)
📝 packages/desktop-client/src/components/accounts/Account.tsx (+47 -43)
📝 packages/desktop-client/src/components/budget/DynamicBudgetTable.tsx (+18 -14)
📝 packages/desktop-client/src/components/schedules/index.tsx (+50 -46)
📝 packages/desktop-client/src/components/sidebar/Sidebar.tsx (+65 -57)
📝 packages/desktop-client/src/components/transactions/TransactionList.tsx (+52 -48)
upcoming-release-notes/7497.md (+6 -0)

📄 Description

Description

Implemented scoped ErrorBoundaries for budget area, account view, transaction list, schedules, rules, and sidebar to prevent feature-level crashes from taking down the entire app.

Maintenance per #7391

Testing

Added temporary test error triggers to each component. Navigated to respective pages with the parameter to verify ErrorBoundaries caught errors and displayed specified fallback messages while keeping the rest of the app functional. Removed test code after verification.

Checklist

  • Release notes added (see link above)
  • No obvious regressions in affected areas
  • Self-review has been performed - I understand what each change in the code does and why it is needed

Bundle Stats

Bundle Files count Total bundle size % Changed
desktop-client 34 12.91 MB → 12.91 MB (+851 B) +0.01%
loot-core 1 4.85 MB 0%
api 1 3.88 MB 0%
cli 1 7.89 MB 0%
View detailed bundle stats

desktop-client

Total

Files count Total bundle size % Changed
34 12.91 MB → 12.91 MB (+851 B) +0.01%
Changeset
File Δ Size
src/components/ManageRulesPage.tsx 📈 +116 B (+17.93%) 647 B → 763 B
node_modules/react-aria-components/dist/TextArea.mjs 📈 +64 B (+4.02%) 1.55 kB → 1.62 kB
src/components/budget/DynamicBudgetTable.tsx 📈 +209 B (+2.86%) 7.14 kB → 7.34 kB
src/components/sidebar/Sidebar.tsx 📈 +120 B (+2.52%) 4.65 kB → 4.76 kB
src/components/schedules/index.tsx 📈 +120 B (+1.88%) 6.23 kB → 6.35 kB
src/components/transactions/TransactionList.tsx 📈 +160 B (+0.91%) 17.13 kB → 17.29 kB
src/components/accounts/Account.tsx 📈 +116 B (+0.26%) 43.9 kB → 44.01 kB
src/components/alerts.tsx 📉 -2 B (-0.05%) 3.67 kB → 3.67 kB
src/components/FeatureErrorFallback.tsx 📉 -4 B (-0.19%) 2.03 kB → 2.02 kB
node_modules/react-error-boundary/dist/react-error-boundary.js 📉 -48 B (-2.04%) 2.3 kB → 2.25 kB
View detailed bundle breakdown

Added
No assets were added

Removed
No assets were removed

Bigger

Asset File Size % Changed
static/js/Value.js 4.33 MB → 4.33 MB (+4.43 kB) +0.10%

Smaller

Asset File Size % Changed
static/js/useFormatList.js 9.86 kB → 7.62 kB (-2.24 kB) -22.71%
static/js/index.js 1.85 MB → 1.85 MB (-1.36 kB) -0.07%

Unchanged

Asset File Size % Changed
static/js/BackgroundImage.js 121.09 kB 0%
static/js/FormulaEditor.js 853.16 kB 0%
static/js/PayeeRuleCountLabel.js 52.12 kB 0%
static/js/ReportRouter.js 1.18 MB 0%
static/js/ScheduleEditForm.js 135.5 kB 0%
static/js/TransactionEdit.js 182.43 kB 0%
static/js/TransactionList.js 82.49 kB 0%
static/js/ca.js 191.72 kB 0%
static/js/chart-theme.js 679.65 kB 0%
static/js/client.js 450.92 kB 0%
static/js/da.js 104.4 kB 0%
static/js/de.js 174.12 kB 0%
static/js/en-GB.js 8.2 kB 0%
static/js/en.js 175.88 kB 0%
static/js/es.js 181.54 kB 0%
static/js/extends.js 485.17 kB 0%
static/js/fr.js 176.79 kB 0%
static/js/indexeddb-main-thread-worker-e59fee74.js 13.46 kB 0%
static/js/it.js 165.68 kB 0%
static/js/narrow.js 363.02 kB 0%
static/js/nb-NO.js 151.58 kB 0%
static/js/nl.js 108.66 kB 0%
static/js/pl.js 88.34 kB 0%
static/js/pt-BR.js 177.18 kB 0%
static/js/resize-observer.js 18.06 kB 0%
static/js/th.js 178.91 kB 0%
static/js/theme.js 30.79 kB 0%
static/js/uk.js 212.28 kB 0%
static/js/wide.js 292 B 0%
static/js/workbox-window.prod.es5.js 7.33 kB 0%
static/js/zh-Hans.js 110.19 kB 0%

loot-core

Total

Files count Total bundle size % Changed
1 4.85 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.Cw2V9gWA.js 4.85 MB 0%

api

Total

Files count Total bundle size % Changed
1 3.88 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.88 MB 0%

cli

Total

Files count Total bundle size % Changed
1 7.89 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
cli.js 7.89 MB 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/7497 **Author:** [@tempiz](https://github.com/tempiz) **Created:** 4/14/2026 **Status:** ✅ Merged **Merged:** 4/17/2026 **Merged by:** [@MatissJanis](https://github.com/MatissJanis) **Base:** `master` ← **Head:** `ErrorBoundaries` --- ### 📝 Commits (4) - [`0811e18`](https://github.com/actualbudget/actual/commit/0811e18a9e8ad6d54444f06d775d6c605d43ca8a) Addition of scoped ErrorBoundarys per 7391 - [`1fdeeb9`](https://github.com/actualbudget/actual/commit/1fdeeb9cfb1ef92abc60b69a6a829fc3130c0307) Merge branch 'actualbudget:master' into ErrorBoundaries - [`b38ae33`](https://github.com/actualbudget/actual/commit/b38ae33da7af1f867bbc1a6f7a9bcc5ae7b9879a) Adjusted to use FeatureErrorfallback from #7437 - [`4a334e4`](https://github.com/actualbudget/actual/commit/4a334e4ee64140b251aaa82e3f34d3940582b967) Merge branch 'master' into ErrorBoundaries ### 📊 Changes **7 files changed** (+246 additions, -211 deletions) <details> <summary>View changed files</summary> 📝 `packages/desktop-client/src/components/ManageRulesPage.tsx` (+8 -3) 📝 `packages/desktop-client/src/components/accounts/Account.tsx` (+47 -43) 📝 `packages/desktop-client/src/components/budget/DynamicBudgetTable.tsx` (+18 -14) 📝 `packages/desktop-client/src/components/schedules/index.tsx` (+50 -46) 📝 `packages/desktop-client/src/components/sidebar/Sidebar.tsx` (+65 -57) 📝 `packages/desktop-client/src/components/transactions/TransactionList.tsx` (+52 -48) ➕ `upcoming-release-notes/7497.md` (+6 -0) </details> ### 📄 Description ## Description Implemented scoped ErrorBoundaries for budget area, account view, transaction list, schedules, rules, and sidebar to prevent feature-level crashes from taking down the entire app. ## Related issue(s) Maintenance per #7391 ## Testing Added temporary test error triggers to each component. Navigated to respective pages with the parameter to verify ErrorBoundaries caught errors and displayed specified fallback messages while keeping the rest of the app functional. Removed test code after verification. ## Checklist - [X] Release notes added (see link above) - [X] No obvious regressions in affected areas - [X] Self-review has been performed - I understand what each change in the code does and why it is needed <!--- actual-bot-sections ---> <!--- bundlestats-action-comment key:combined start ---> ### Bundle Stats Bundle | Files count | Total bundle size | % Changed ------ | ----------- | ----------------- | --------- desktop-client | 34 | 12.91 MB → 12.91 MB (+851 B) | +0.01% loot-core | 1 | 4.85 MB | 0% api | 1 | 3.88 MB | 0% cli | 1 | 7.89 MB | 0% <details> <summary>View detailed bundle stats</summary> #### desktop-client **Total** Files count | Total bundle size | % Changed ----------- | ----------------- | --------- 34 | 12.91 MB → 12.91 MB (+851 B) | +0.01% <details> <summary>Changeset</summary> File | Δ | Size ---- | - | ---- `src/components/ManageRulesPage.tsx` | 📈 +116 B (+17.93%) | 647 B → 763 B `node_modules/react-aria-components/dist/TextArea.mjs` | 📈 +64 B (+4.02%) | 1.55 kB → 1.62 kB `src/components/budget/DynamicBudgetTable.tsx` | 📈 +209 B (+2.86%) | 7.14 kB → 7.34 kB `src/components/sidebar/Sidebar.tsx` | 📈 +120 B (+2.52%) | 4.65 kB → 4.76 kB `src/components/schedules/index.tsx` | 📈 +120 B (+1.88%) | 6.23 kB → 6.35 kB `src/components/transactions/TransactionList.tsx` | 📈 +160 B (+0.91%) | 17.13 kB → 17.29 kB `src/components/accounts/Account.tsx` | 📈 +116 B (+0.26%) | 43.9 kB → 44.01 kB `src/components/alerts.tsx` | 📉 -2 B (-0.05%) | 3.67 kB → 3.67 kB `src/components/FeatureErrorFallback.tsx` | 📉 -4 B (-0.19%) | 2.03 kB → 2.02 kB `node_modules/react-error-boundary/dist/react-error-boundary.js` | 📉 -48 B (-2.04%) | 2.3 kB → 2.25 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/Value.js | 4.33 MB → 4.33 MB (+4.43 kB) | +0.10% **Smaller** Asset | File Size | % Changed ----- | --------- | --------- static/js/useFormatList.js | 9.86 kB → 7.62 kB (-2.24 kB) | -22.71% static/js/index.js | 1.85 MB → 1.85 MB (-1.36 kB) | -0.07% **Unchanged** Asset | File Size | % Changed ----- | --------- | --------- static/js/BackgroundImage.js | 121.09 kB | 0% static/js/FormulaEditor.js | 853.16 kB | 0% static/js/PayeeRuleCountLabel.js | 52.12 kB | 0% static/js/ReportRouter.js | 1.18 MB | 0% static/js/ScheduleEditForm.js | 135.5 kB | 0% static/js/TransactionEdit.js | 182.43 kB | 0% static/js/TransactionList.js | 82.49 kB | 0% static/js/ca.js | 191.72 kB | 0% static/js/chart-theme.js | 679.65 kB | 0% static/js/client.js | 450.92 kB | 0% static/js/da.js | 104.4 kB | 0% static/js/de.js | 174.12 kB | 0% static/js/en-GB.js | 8.2 kB | 0% static/js/en.js | 175.88 kB | 0% static/js/es.js | 181.54 kB | 0% static/js/extends.js | 485.17 kB | 0% static/js/fr.js | 176.79 kB | 0% static/js/indexeddb-main-thread-worker-e59fee74.js | 13.46 kB | 0% static/js/it.js | 165.68 kB | 0% static/js/narrow.js | 363.02 kB | 0% static/js/nb-NO.js | 151.58 kB | 0% static/js/nl.js | 108.66 kB | 0% static/js/pl.js | 88.34 kB | 0% static/js/pt-BR.js | 177.18 kB | 0% static/js/resize-observer.js | 18.06 kB | 0% static/js/th.js | 178.91 kB | 0% static/js/theme.js | 30.79 kB | 0% static/js/uk.js | 212.28 kB | 0% static/js/wide.js | 292 B | 0% static/js/workbox-window.prod.es5.js | 7.33 kB | 0% static/js/zh-Hans.js | 110.19 kB | 0% </div> </details> --- #### loot-core **Total** Files count | Total bundle size | % Changed ----------- | ----------------- | --------- 1 | 4.85 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.Cw2V9gWA.js | 4.85 MB | 0% </div> </details> --- #### api **Total** Files count | Total bundle size | % Changed ----------- | ----------------- | --------- 1 | 3.88 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.88 MB | 0% </div> </details> --- #### cli **Total** Files count | Total bundle size | % Changed ----------- | ----------------- | --------- 1 | 7.89 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 ----- | --------- | --------- cli.js | 7.89 MB | 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-04-26 10:53:33 -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#49027