[PR #7220] [MERGED] Implement Sankey report for spent and budgeted money #32939

Closed
opened 2026-04-18 08:54:01 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/actualbudget/actual/pull/7220
Author: @emiltb
Created: 3/16/2026
Status: Merged
Merged: 4/5/2026
Merged by: @youngcw

Base: masterHead: sankey-report


📝 Commits (10+)

📊 Changes

12 files changed (+1904 additions, -4 deletions)

View changed files

📝 packages/desktop-client/src/components/reports/Overview.tsx (+22 -0)
📝 packages/desktop-client/src/components/reports/ReportRouter.tsx (+8 -0)
packages/desktop-client/src/components/reports/graphs/SankeyGraph.tsx (+330 -0)
packages/desktop-client/src/components/reports/reports/Sankey.tsx (+615 -0)
packages/desktop-client/src/components/reports/reports/SankeyCard.tsx (+168 -0)
packages/desktop-client/src/components/reports/spreadsheets/sankey-spreadsheet.ts (+730 -0)
📝 packages/desktop-client/src/components/settings/Experimental.tsx (+6 -1)
📝 packages/desktop-client/src/hooks/useFeatureFlag.ts (+1 -0)
📝 packages/loot-core/src/server/dashboard/app.ts (+1 -0)
📝 packages/loot-core/src/types/models/dashboard.ts (+15 -2)
📝 packages/loot-core/src/types/prefs.ts (+2 -1)
upcoming-release-notes/7220.md (+6 -0)

📄 Description

Description

This PR adds a Sankey chart report that can visualise the money flow in two ways: spent and budgeted. It shows either the total spend amount for a time period and how it flows through categories and subcategories, or similarly for the budgeted amount how funds are allocated. This is a new way to visualise money flows, making it easy for users to compare the relative amounts they are spending or allocating in their budgets.

I derived this from the previous work in #6068. Notable changes from that PR are:

  • Made it possible to select date for a time range instead of only a single month.
  • Fixed the SankeyCard, which did not display data in all cases.
  • Removed the "Difference" section that was introduced in the previous PR, as the results from it were confusing in real budgets were funds are allocated across several months for large expenses (e.g. paying a mortgage every three months, but budgeting for it monthly). I'm open to reintroducing this if we can find a good way to do it, but did not like it in its current form.
  • Reduced clutter in the graphs by removing all data about Income amounts. This removes a level of 'nesting' in the chart, while providing basically the same info.
  • Now sorts categories and subcategories by amounts, to make the largest amounts appear towards the top of the graph.

Spent view:
2026-03-16T20:40:35,993104676+01:00

Budgeted view:
2026-03-16T20:40:50,521638159+01:00

I'm looking for feedback and ideas on what to improve from here on. One specific thing that should be improved, that I would like to discuss the implementation of is budgets with many small categories, which clutter the view. Ideally we should take the smallest subcategories and lump them together in an 'Other' category, which could show what data they contain in a tooltip. However, I'm unsure what the best approach is to select which categories goes into 'Other'. Options include:

  • Top-N + "Other": Show the largest N categories and group all smaller ones into an "Other" category.
  • Threshold-Based: Only display categories above a certain absolute amount or percentage of total spending, lumping the rest into "Other."
  • Statistical Cutoff: Include categories larger than a statistical measure (e.g., median or mean or some fraction thereof), combining smaller ones into "Other."

This fixes #1716, which has been addressed several times (#1919, #4156 and lately in #6068). I've continued the recent branch from #6068 and provided my own take on some of the outstanding issues.

Testing

I tested the visuals of the graph using the provided test budget in Actual and using my own Budget (with significantly more data). I also updated the test added previously in #6068 to reflect my changes, but I'm unsure how to update and run the visual tests, and was unable to figure that out from the Actual docs.

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 28 12.17 MB → 12.26 MB (+91.64 kB) +0.74%
loot-core 1 4.83 MB → 4.83 MB (+18 B) +0.00%
api 4 4.06 MB → 4.06 MB (+17 B) +0.00%
cli 1 7.88 MB 0%
View detailed bundle stats

desktop-client

Total

Files count Total bundle size % Changed
28 12.17 MB → 12.26 MB (+91.64 kB) +0.74%
Changeset
File Δ Size
node_modules/recharts/es6/chart/Sankey.js 🆕 +23.63 kB 0 B → 23.63 kB
src/components/reports/reports/Sankey.tsx 🆕 +22.96 kB 0 B → 22.96 kB
src/components/reports/spreadsheets/sankey-spreadsheet.ts 🆕 +12.82 kB 0 B → 12.82 kB
src/components/reports/graphs/SankeyGraph.tsx 🆕 +9.08 kB 0 B → 9.08 kB
src/components/reports/reports/SankeyCard.tsx 🆕 +7.14 kB 0 B → 7.14 kB
node_modules/es-toolkit/dist/function/debounce.js 🆕 +1.53 kB 0 B → 1.53 kB
node_modules/es-toolkit/dist/compat/function/debounce.js 🆕 +1.26 kB 0 B → 1.26 kB
node_modules/es-toolkit/dist/compat/math/sumBy.js 🆕 +668 B 0 B → 668 B
node_modules/es-toolkit/dist/array/maxBy.js 🆕 +566 B 0 B → 566 B
node_modules/es-toolkit/dist/compat/math/maxBy.js 🆕 +506 B 0 B → 506 B
node_modules/es-toolkit/dist/compat/function/throttle.js 🆕 +502 B 0 B → 502 B
node_modules/es-toolkit/compat/throttle.js 🆕 +187 B 0 B → 187 B
node_modules/es-toolkit/compat/maxBy.js 🆕 +175 B 0 B → 175 B
node_modules/es-toolkit/compat/sumBy.js 🆕 +175 B 0 B → 175 B
home/runner/work/actual/actual/packages/component-library/src/icons/v1/List.tsx 🆕 +424 B 0 B → 424 B
node_modules/recharts/es6/component/ResponsiveContainer.js 📈 +6.28 kB (+2115.79%) 304 B → 6.58 kB
node_modules/recharts/es6/component/responsiveContainerUtils.js 📈 +1.82 kB (+752.63%) 247 B → 2.06 kB
node_modules/recharts/es6/context/chartDataContext.js 📈 +285 B (+62.50%) 456 B → 741 B
src/components/reports/ReportRouter.tsx 📈 +556 B (+10.54%) 5.15 kB → 5.7 kB
node_modules/recharts/es6/context/chartLayoutContext.js 📈 +204 B (+7.29%) 2.73 kB → 2.93 kB
src/hooks/useFeatureFlag.ts 📈 +22 B (+4.44%) 496 B → 518 B
src/components/reports/Overview.tsx 📈 +670 B (+2.70%) 24.23 kB → 24.89 kB
src/components/settings/Experimental.tsx 📈 +238 B (+2.35%) 9.87 kB → 10.11 kB
node_modules/recharts/es6/chart/PieChart.js 📈 +24 B (+1.19%) 1.96 kB → 1.99 kB
node_modules/recharts/es6/chart/PolarChart.js 📈 +20 B (+0.63%) 3.08 kB → 3.1 kB
node_modules/recharts/es6/shape/Trapezoid.js 📈 +17 B (+0.28%) 5.97 kB → 5.99 kB
node_modules/recharts/es6/shape/Symbols.js 📈 +6 B (+0.14%) 4.26 kB → 4.27 kB
src/components/reports/ReportLegend.tsx 📈 +2 B (+0.13%) 1.53 kB → 1.53 kB
src/components/accounts/AccountEmptyMessage.tsx 📈 +2 B (+0.08%) 2.47 kB → 2.47 kB
node_modules/recharts/es6/cartesian/XAxis.js 📈 +4 B (+0.06%) 6.48 kB → 6.49 kB
src/components/reports/spreadsheets/net-worth-spreadsheet.ts 📈 +2 B (+0.04%) 5 kB → 5 kB
src/components/reports/reports/BudgetAnalysis.tsx 📈 +7 B (+0.04%) 19 kB → 19.01 kB
src/components/reports/reports/NetWorthCard.tsx 📈 +2 B (+0.03%) 7.65 kB → 7.65 kB
src/components/reports/graphs/BarGraph.tsx 📈 +2 B (+0.02%) 10.77 kB → 10.78 kB
src/components/reports/SaveReport.tsx 📈 +2 B (+0.02%) 12.55 kB → 12.55 kB
src/components/reports/reports/NetWorth.tsx 📈 +2 B (+0.01%) 13.55 kB → 13.55 kB
View detailed bundle breakdown

Added
No assets were added

Removed
No assets were removed

Bigger

Asset File Size % Changed
static/js/ReportRouter.js 1.02 MB → 1.1 MB (+78.96 kB) +7.55%
static/js/index.js 3.23 MB → 3.24 MB (+12.27 kB) +0.37%
static/js/useTransactionBatchActions.js 4.29 MB → 4.29 MB (+424 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 846.44 kB 0%
static/js/TransactionList.js 81.29 kB 0%
static/js/ca.js 182.91 kB 0%
static/js/da.js 104.66 kB 0%
static/js/de.js 174.79 kB 0%
static/js/en-GB.js 7.16 kB 0%
static/js/en.js 170.76 kB 0%
static/js/es.js 182.18 kB 0%
static/js/fr.js 177.47 kB 0%
static/js/indexeddb-main-thread-worker-e59fee74.js 13.46 kB 0%
static/js/it.js 166.25 kB 0%
static/js/narrow.js 354.5 kB 0%
static/js/nb-NO.js 152.2 kB 0%
static/js/nl.js 108.93 kB 0%
static/js/pl.js 88.34 kB 0%
static/js/pt-BR.js 177.84 kB 0%
static/js/resize-observer.js 18.03 kB 0%
static/js/sv.js 80.58 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%
static/js/zh-Hans.js 81.33 kB 0%

loot-core

Total

Files count Total bundle size % Changed
1 4.83 MB → 4.83 MB (+18 B) +0.00%
Changeset
File Δ Size
home/runner/work/actual/actual/packages/loot-core/src/server/dashboard/app.ts 📈 +18 B (+0.24%) 7.41 kB → 7.43 kB
View detailed bundle breakdown

Added

Asset File Size % Changed
kcab.worker.BRetFroP.js 0 B → 4.83 MB (+4.83 MB) -

Removed

Asset File Size % Changed
kcab.worker.CwpE34S5.js 4.83 MB → 0 B (-4.83 MB) -100%

Bigger
No assets were bigger

Smaller
No assets were smaller

Unchanged
No assets were unchanged


api

Total

Files count Total bundle size % Changed
4 4.06 MB → 4.06 MB (+17 B) +0.00%
Changeset
File Δ Size
home/runner/work/actual/actual/packages/loot-core/src/server/dashboard/app.ts 📈 +17 B (+0.23%) 7.27 kB → 7.29 kB
View detailed bundle breakdown

Added
No assets were added

Removed
No assets were removed

Bigger

Asset File Size % Changed
index.js 3.84 MB → 3.84 MB (+17 B) +0.00%

Smaller
No assets were smaller

Unchanged

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

cli

Total

Files count Total bundle size % Changed
1 7.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
cli.js 7.88 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/7220 **Author:** [@emiltb](https://github.com/emiltb) **Created:** 3/16/2026 **Status:** ✅ Merged **Merged:** 4/5/2026 **Merged by:** [@youngcw](https://github.com/youngcw) **Base:** `master` ← **Head:** `sankey-report` --- ### 📝 Commits (10+) - [`4f13155`](https://github.com/actualbudget/actual/commit/4f13155a6c213960a4ff07f933f7db5ca7b003cd) Implement Sankey graph report - [`561a9f0`](https://github.com/actualbudget/actual/commit/561a9f00c657e7171435a4d3cb7b9ad46c72d0a1) Add release notes - [`6e1902c`](https://github.com/actualbudget/actual/commit/6e1902cb5fed3bc44abe03ecb98ef47f991d2994) Update VRT screenshots - [`024fc6f`](https://github.com/actualbudget/actual/commit/024fc6fdfee76b607885e7c52a1b5363dbcefc28) Remove local debug settings - [`0dcb57c`](https://github.com/actualbudget/actual/commit/0dcb57c5d1962c17c408d1df28d08e7ed7bf318f) Merge branch 'sankey-graph-report' of https://github.com/andrewhumble/actual into sankey-graph-report - [`ee1a25a`](https://github.com/actualbudget/actual/commit/ee1a25a5a98fb5b0d824f201870ce75992f6b891) [autofix.ci] apply automated fixes - [`8168528`](https://github.com/actualbudget/actual/commit/816852873cf95f4b663e0c5aed0dd07d198512ff) Update VRT screenshots - [`55bfe69`](https://github.com/actualbudget/actual/commit/55bfe6952d97db4a9344182ba09e8f9bedf92860) Improve graphs from comments - [`034498b`](https://github.com/actualbudget/actual/commit/034498b8c1ef8451072eadb4f189ef4bada2b387) Merge - [`815ddc8`](https://github.com/actualbudget/actual/commit/815ddc81bc5abefb503ed303190b4c8c78b50523) Merge branch 'sankey-graph-report' of https://github.com/andrewhumble/actual into sankey-graph-report ### 📊 Changes **12 files changed** (+1904 additions, -4 deletions) <details> <summary>View changed files</summary> 📝 `packages/desktop-client/src/components/reports/Overview.tsx` (+22 -0) 📝 `packages/desktop-client/src/components/reports/ReportRouter.tsx` (+8 -0) ➕ `packages/desktop-client/src/components/reports/graphs/SankeyGraph.tsx` (+330 -0) ➕ `packages/desktop-client/src/components/reports/reports/Sankey.tsx` (+615 -0) ➕ `packages/desktop-client/src/components/reports/reports/SankeyCard.tsx` (+168 -0) ➕ `packages/desktop-client/src/components/reports/spreadsheets/sankey-spreadsheet.ts` (+730 -0) 📝 `packages/desktop-client/src/components/settings/Experimental.tsx` (+6 -1) 📝 `packages/desktop-client/src/hooks/useFeatureFlag.ts` (+1 -0) 📝 `packages/loot-core/src/server/dashboard/app.ts` (+1 -0) 📝 `packages/loot-core/src/types/models/dashboard.ts` (+15 -2) 📝 `packages/loot-core/src/types/prefs.ts` (+2 -1) ➕ `upcoming-release-notes/7220.md` (+6 -0) </details> ### 📄 Description ## Description This PR adds a Sankey chart report that can visualise the money flow in two ways: spent and budgeted. It shows either the total spend amount for a time period and how it flows through categories and subcategories, or similarly for the budgeted amount how funds are allocated. This is a new way to visualise money flows, making it easy for users to compare the relative amounts they are spending or allocating in their budgets. I derived this from the previous work in #6068. Notable changes from that PR are: - Made it possible to select date for a time range instead of only a single month. - Fixed the SankeyCard, which did not display data in all cases. - Removed the "Difference" section that was introduced in the previous PR, as the results from it were confusing in real budgets were funds are allocated across several months for large expenses (e.g. paying a mortgage every three months, but budgeting for it monthly). I'm open to reintroducing this if we can find a good way to do it, but did not like it in its current form. - Reduced clutter in the graphs by removing all data about Income amounts. This removes a level of 'nesting' in the chart, while providing basically the same info. - Now sorts categories and subcategories by amounts, to make the largest amounts appear towards the top of the graph. **Spent view:** <img width="1626" height="782" alt="2026-03-16T20:40:35,993104676+01:00" src="https://github.com/user-attachments/assets/2c5c7882-4284-48a6-bfed-e336479fe439" /> **Budgeted view:** <img width="1622" height="771" alt="2026-03-16T20:40:50,521638159+01:00" src="https://github.com/user-attachments/assets/08555400-115f-468b-8bd3-7ff61bedc3e3" /> I'm looking for feedback and ideas on what to improve from here on. One specific thing that should be improved, that I would like to discuss the implementation of is budgets with many small categories, which clutter the view. Ideally we should take the smallest subcategories and lump them together in an 'Other' category, which could show what data they contain in a tooltip. However, I'm unsure what the best approach is to select which categories goes into 'Other'. Options include: - **Top-N + "Other":** Show the largest N categories and group all smaller ones into an "Other" category. - **Threshold-Based:** Only display categories above a certain absolute amount or percentage of total spending, lumping the rest into "Other." - **Statistical Cutoff:** Include categories larger than a statistical measure (e.g., median or mean or some fraction thereof), combining smaller ones into "Other." ## Related issue(s) This fixes #1716, which has been addressed several times (#1919, #4156 and lately in #6068). I've continued the recent branch from #6068 and provided my own take on some of the outstanding issues. ## Testing I tested the visuals of the graph using the provided test budget in Actual and using my own Budget (with significantly more data). I also updated the test added previously in #6068 to reflect my changes, but I'm unsure how to update and run the visual tests, and was unable to figure that out from the Actual docs. ## 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 | 28 | 12.17 MB → 12.26 MB (+91.64 kB) | +0.74% loot-core | 1 | 4.83 MB → 4.83 MB (+18 B) | +0.00% api | 4 | 4.06 MB → 4.06 MB (+17 B) | +0.00% cli | 1 | 7.88 MB | 0% <details> <summary>View detailed bundle stats</summary> #### desktop-client **Total** Files count | Total bundle size | % Changed ----------- | ----------------- | --------- 28 | 12.17 MB → 12.26 MB (+91.64 kB) | +0.74% <details> <summary>Changeset</summary> File | Δ | Size ---- | - | ---- `node_modules/recharts/es6/chart/Sankey.js` | 🆕 +23.63 kB | 0 B → 23.63 kB `src/components/reports/reports/Sankey.tsx` | 🆕 +22.96 kB | 0 B → 22.96 kB `src/components/reports/spreadsheets/sankey-spreadsheet.ts` | 🆕 +12.82 kB | 0 B → 12.82 kB `src/components/reports/graphs/SankeyGraph.tsx` | 🆕 +9.08 kB | 0 B → 9.08 kB `src/components/reports/reports/SankeyCard.tsx` | 🆕 +7.14 kB | 0 B → 7.14 kB `node_modules/es-toolkit/dist/function/debounce.js` | 🆕 +1.53 kB | 0 B → 1.53 kB `node_modules/es-toolkit/dist/compat/function/debounce.js` | 🆕 +1.26 kB | 0 B → 1.26 kB `node_modules/es-toolkit/dist/compat/math/sumBy.js` | 🆕 +668 B | 0 B → 668 B `node_modules/es-toolkit/dist/array/maxBy.js` | 🆕 +566 B | 0 B → 566 B `node_modules/es-toolkit/dist/compat/math/maxBy.js` | 🆕 +506 B | 0 B → 506 B `node_modules/es-toolkit/dist/compat/function/throttle.js` | 🆕 +502 B | 0 B → 502 B `node_modules/es-toolkit/compat/throttle.js` | 🆕 +187 B | 0 B → 187 B `node_modules/es-toolkit/compat/maxBy.js` | 🆕 +175 B | 0 B → 175 B `node_modules/es-toolkit/compat/sumBy.js` | 🆕 +175 B | 0 B → 175 B `home/runner/work/actual/actual/packages/component-library/src/icons/v1/List.tsx` | 🆕 +424 B | 0 B → 424 B `node_modules/recharts/es6/component/ResponsiveContainer.js` | 📈 +6.28 kB (+2115.79%) | 304 B → 6.58 kB `node_modules/recharts/es6/component/responsiveContainerUtils.js` | 📈 +1.82 kB (+752.63%) | 247 B → 2.06 kB `node_modules/recharts/es6/context/chartDataContext.js` | 📈 +285 B (+62.50%) | 456 B → 741 B `src/components/reports/ReportRouter.tsx` | 📈 +556 B (+10.54%) | 5.15 kB → 5.7 kB `node_modules/recharts/es6/context/chartLayoutContext.js` | 📈 +204 B (+7.29%) | 2.73 kB → 2.93 kB `src/hooks/useFeatureFlag.ts` | 📈 +22 B (+4.44%) | 496 B → 518 B `src/components/reports/Overview.tsx` | 📈 +670 B (+2.70%) | 24.23 kB → 24.89 kB `src/components/settings/Experimental.tsx` | 📈 +238 B (+2.35%) | 9.87 kB → 10.11 kB `node_modules/recharts/es6/chart/PieChart.js` | 📈 +24 B (+1.19%) | 1.96 kB → 1.99 kB `node_modules/recharts/es6/chart/PolarChart.js` | 📈 +20 B (+0.63%) | 3.08 kB → 3.1 kB `node_modules/recharts/es6/shape/Trapezoid.js` | 📈 +17 B (+0.28%) | 5.97 kB → 5.99 kB `node_modules/recharts/es6/shape/Symbols.js` | 📈 +6 B (+0.14%) | 4.26 kB → 4.27 kB `src/components/reports/ReportLegend.tsx` | 📈 +2 B (+0.13%) | 1.53 kB → 1.53 kB `src/components/accounts/AccountEmptyMessage.tsx` | 📈 +2 B (+0.08%) | 2.47 kB → 2.47 kB `node_modules/recharts/es6/cartesian/XAxis.js` | 📈 +4 B (+0.06%) | 6.48 kB → 6.49 kB `src/components/reports/spreadsheets/net-worth-spreadsheet.ts` | 📈 +2 B (+0.04%) | 5 kB → 5 kB `src/components/reports/reports/BudgetAnalysis.tsx` | 📈 +7 B (+0.04%) | 19 kB → 19.01 kB `src/components/reports/reports/NetWorthCard.tsx` | 📈 +2 B (+0.03%) | 7.65 kB → 7.65 kB `src/components/reports/graphs/BarGraph.tsx` | 📈 +2 B (+0.02%) | 10.77 kB → 10.78 kB `src/components/reports/SaveReport.tsx` | 📈 +2 B (+0.02%) | 12.55 kB → 12.55 kB `src/components/reports/reports/NetWorth.tsx` | 📈 +2 B (+0.01%) | 13.55 kB → 13.55 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/ReportRouter.js | 1.02 MB → 1.1 MB (+78.96 kB) | +7.55% static/js/index.js | 3.23 MB → 3.24 MB (+12.27 kB) | +0.37% static/js/useTransactionBatchActions.js | 4.29 MB → 4.29 MB (+424 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 | 846.44 kB | 0% static/js/TransactionList.js | 81.29 kB | 0% static/js/ca.js | 182.91 kB | 0% static/js/da.js | 104.66 kB | 0% static/js/de.js | 174.79 kB | 0% static/js/en-GB.js | 7.16 kB | 0% static/js/en.js | 170.76 kB | 0% static/js/es.js | 182.18 kB | 0% static/js/fr.js | 177.47 kB | 0% static/js/indexeddb-main-thread-worker-e59fee74.js | 13.46 kB | 0% static/js/it.js | 166.25 kB | 0% static/js/narrow.js | 354.5 kB | 0% static/js/nb-NO.js | 152.2 kB | 0% static/js/nl.js | 108.93 kB | 0% static/js/pl.js | 88.34 kB | 0% static/js/pt-BR.js | 177.84 kB | 0% static/js/resize-observer.js | 18.03 kB | 0% static/js/sv.js | 80.58 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% static/js/zh-Hans.js | 81.33 kB | 0% </div> </details> --- #### loot-core **Total** Files count | Total bundle size | % Changed ----------- | ----------------- | --------- 1 | 4.83 MB → 4.83 MB (+18 B) | +0.00% <details> <summary>Changeset</summary> File | Δ | Size ---- | - | ---- `home/runner/work/actual/actual/packages/loot-core/src/server/dashboard/app.ts` | 📈 +18 B (+0.24%) | 7.41 kB → 7.43 kB </details> <details> <summary>View detailed bundle breakdown</summary> <div> **Added** Asset | File Size | % Changed ----- | --------- | --------- kcab.worker.BRetFroP.js | 0 B → 4.83 MB (+4.83 MB) | - **Removed** Asset | File Size | % Changed ----- | --------- | --------- kcab.worker.CwpE34S5.js | 4.83 MB → 0 B (-4.83 MB) | -100% **Bigger** No assets were bigger **Smaller** No assets were smaller **Unchanged** No assets were unchanged </div> </details> --- #### api **Total** Files count | Total bundle size | % Changed ----------- | ----------------- | --------- 4 | 4.06 MB → 4.06 MB (+17 B) | +0.00% <details> <summary>Changeset</summary> File | Δ | Size ---- | - | ---- `home/runner/work/actual/actual/packages/loot-core/src/server/dashboard/app.ts` | 📈 +17 B (+0.23%) | 7.27 kB → 7.29 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 ----- | --------- | --------- index.js | 3.84 MB → 3.84 MB (+17 B) | +0.00% **Smaller** No assets were smaller **Unchanged** Asset | File Size | % Changed ----- | --------- | --------- 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> --- #### cli **Total** Files count | Total bundle size | % Changed ----------- | ----------------- | --------- 1 | 7.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 ----- | --------- | --------- cli.js | 7.88 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-18 08:54:01 -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#32939