[PR #5977] [MERGED] Move redux state to react-query - category states #55551

Closed
opened 2026-05-01 02:33:33 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/actualbudget/actual/pull/5977
Author: @joel-jeremy
Created: 10/21/2025
Status: Merged
Merged: 2/5/2026
Merged by: @joel-jeremy

Base: masterHead: react-query-categories


📝 Commits (10+)

📊 Changes

28 files changed (+1217 additions, -1167 deletions)

View changed files

📝 .oxlintrc.json (+1 -1)
📝 packages/desktop-client/package.json (+1 -0)
packages/desktop-client/src/budget/budgetSlice.ts (+0 -654)
packages/desktop-client/src/budget/index.ts (+2 -0)
packages/desktop-client/src/budget/mutations.ts (+843 -0)
packages/desktop-client/src/budget/queries.ts (+65 -0)
📝 packages/desktop-client/src/components/App.tsx (+3 -1)
📝 packages/desktop-client/src/components/autocomplete/CategoryAutocomplete.tsx (+1 -1)
📝 packages/desktop-client/src/components/budget/BudgetTable.tsx (+11 -14)
📝 packages/desktop-client/src/components/budget/index.tsx (+68 -38)
📝 packages/desktop-client/src/components/mobile/budget/BudgetPage.tsx (+77 -109)
📝 packages/desktop-client/src/components/mobile/budget/ExpenseCategoryList.tsx (+17 -22)
📝 packages/desktop-client/src/components/mobile/budget/ExpenseGroupList.tsx (+15 -20)
📝 packages/desktop-client/src/components/mobile/budget/IncomeCategoryList.tsx (+17 -22)
📝 packages/desktop-client/src/components/modals/ImportTransactionsModal/ImportTransactionsModal.tsx (+6 -6)
📝 packages/desktop-client/src/components/transactions/TransactionsTable.tsx (+14 -1)
📝 packages/desktop-client/src/global-events.ts (+10 -4)
📝 packages/desktop-client/src/hooks/useCategories.ts (+5 -19)
packages/desktop-client/src/hooks/useCategoriesQuery.ts (+7 -0)
📝 packages/desktop-client/src/hooks/useCategory.ts (+7 -4)

...and 8 more files

📄 Description

The move to react-query is an effort to further reduce the overall database queries by leveraging a cache. Right now, data that is used by Actual is maintained in the redux store. There is a lot of manual tracking done right now to prevent loading the data more than necessary (via isLoading, isLoaded, isDirty states). Moving to react-query removes the need to manually track those states.

If this is approved, I'm planning to migrate the entire redux store, one slice at a time.

I didn't change the return types of the category hooks in this PR but I'm planning to expose the react-query states in a future PR i.e.

const { data: categories, isLoading, isFetching, error  } = useCategories();

This also opens up the possibility to use Suspense to simplify showing of loading states throughout the app


Bundle Stats

Bundle Files count Total bundle size % Changed
desktop-client 28 14.47 MB → 14.55 MB (+84.27 kB) +0.57%
loot-core 1 5.85 MB 0%
api 1 4.39 MB 0%
View detailed bundle stats

desktop-client

Total

Files count Total bundle size % Changed
28 14.47 MB → 14.55 MB (+84.27 kB) +0.57%
Changeset
File Δ Size
src/budget/mutations.ts 🆕 +21.44 kB 0 B → 21.44 kB
node_modules/@tanstack/query-core/build/modern/queryObserver.js 🆕 +15.52 kB 0 B → 15.52 kB
node_modules/@tanstack/query-core/build/modern/query.js 🆕 +11.35 kB 0 B → 11.35 kB
node_modules/@tanstack/query-core/build/modern/queryClient.js 🆕 +8.82 kB 0 B → 8.82 kB
node_modules/@tanstack/query-core/build/modern/mutation.js 🆕 +6.44 kB 0 B → 6.44 kB
node_modules/@tanstack/query-core/build/modern/utils.js 🆕 +5.72 kB 0 B → 5.72 kB
node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js 🆕 +3.73 kB 0 B → 3.73 kB
node_modules/@tanstack/query-core/build/modern/mutationObserver.js 🆕 +3.32 kB 0 B → 3.32 kB
node_modules/@tanstack/query-core/build/modern/mutationCache.js 🆕 +3.24 kB 0 B → 3.24 kB
node_modules/@tanstack/query-core/build/modern/retryer.js 🆕 +3.18 kB 0 B → 3.18 kB
node_modules/@tanstack/react-query/build/modern/useBaseQuery.js 🆕 +2.56 kB 0 B → 2.56 kB
node_modules/@tanstack/query-core/build/modern/queryCache.js 🆕 +2.1 kB 0 B → 2.1 kB
node_modules/@tanstack/query-core/build/modern/notifyManager.js 🆕 +1.81 kB 0 B → 1.81 kB
node_modules/@tanstack/query-core/build/modern/timeoutManager.js 🆕 +1.71 kB 0 B → 1.71 kB
node_modules/@tanstack/query-core/build/modern/focusManager.js 🆕 +1.39 kB 0 B → 1.39 kB
node_modules/@tanstack/query-core/build/modern/onlineManager.js 🆕 +1.28 kB 0 B → 1.28 kB
src/budget/queries.ts 🆕 +1.08 kB 0 B → 1.08 kB
node_modules/@tanstack/react-query/build/modern/suspense.js 🆕 +1016 B 0 B → 1016 B
node_modules/@tanstack/react-query/build/modern/useMutation.js 🆕 +912 B 0 B → 912 B
node_modules/@tanstack/react-query/build/modern/errorBoundaryUtils.js 🆕 +699 B 0 B → 699 B
node_modules/@tanstack/query-core/build/modern/thenable.js 🆕 +633 B 0 B → 633 B
node_modules/@tanstack/query-core/build/modern/removable.js 🆕 +599 B 0 B → 599 B
node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js 🆕 +572 B 0 B → 572 B
node_modules/@tanstack/query-core/build/modern/subscribable.js 🆕 +454 B 0 B → 454 B
node_modules/@tanstack/react-query/build/modern/QueryErrorResetBoundary.js 🆕 +392 B 0 B → 392 B
src/hooks/useCategoriesQuery.ts 🆕 +261 B 0 B → 261 B
node_modules/@tanstack/react-query/build/modern/IsRestoringProvider.js 🆕 +160 B 0 B → 160 B
node_modules/@tanstack/react-query/build/modern/useQuery.js 🆕 +92 B 0 B → 92 B
node_modules/@tanstack/react-query/build/modern/queryOptions.js 🆕 +75 B 0 B → 75 B
src/components/budget/index.tsx 📈 +1.83 kB (+17.02%) 10.75 kB → 12.58 kB
src/index.tsx 📈 +166 B (+10.74%) 1.51 kB → 1.67 kB
src/hooks/useCategory.ts 📈 +26 B (+5.92%) 439 B → 465 B
src/hooks/useCategoryGroup.ts 📈 +10 B (+2.16%) 463 B → 473 B
src/global-events.ts 📈 +74 B (+1.95%) 3.71 kB → 3.79 kB
src/components/App.tsx 📈 +117 B (+1.21%) 9.44 kB → 9.56 kB
src/components/mobile/budget/ExpenseGroupList.tsx 📈 +38 B (+0.70%) 5.31 kB → 5.34 kB
src/sync-events.ts 📈 +65 B (+0.65%) 9.8 kB → 9.86 kB
src/components/mobile/budget/IncomeCategoryList.tsx 📈 +18 B (+0.53%) 3.31 kB → 3.33 kB
src/components/mobile/budget/ExpenseCategoryList.tsx 📈 +18 B (+0.46%) 3.83 kB → 3.85 kB
src/components/transactions/TransactionsTable.tsx 📈 +214 B (+0.24%) 85.88 kB → 86.09 kB
src/components/reports/reports/CashFlow.tsx 📈 +1 B (+0.01%) 8.97 kB → 8.97 kB
src/components/reports/Header.tsx 📈 +1 B (+0.01%) 14.21 kB → 14.21 kB
src/components/reports/reports/NetWorth.tsx 📈 +1 B (+0.01%) 14.64 kB → 14.64 kB
src/components/reports/reports/Summary.tsx 📈 +1 B (+0.00%) 27.38 kB → 27.38 kB
src/components/reports/reports/Calendar.tsx 📈 +1 B (+0.00%) 28.98 kB → 28.99 kB
src/components/reports/reports/Crossover.tsx 📉 -7 B (-0.02%) 40.88 kB → 40.88 kB
src/components/modals/ImportTransactionsModal/ImportTransactionsModal.tsx 📉 -21 B (-0.07%) 28.32 kB → 28.3 kB
src/components/formula/QueryManager.tsx 📉 -43 B (-0.18%) 23.89 kB → 23.85 kB
src/components/reports/reports/Spending.tsx 📉 -48 B (-0.20%) 23.34 kB → 23.29 kB
src/components/budget/BudgetTable.tsx 📉 -88 B (-0.78%) 11.03 kB → 10.95 kB
src/components/autocomplete/CategoryAutocomplete.tsx 📉 -146 B (-0.82%) 17.3 kB → 17.16 kB
src/components/reports/reports/CrossoverCard.tsx 📉 -116 B (-1.06%) 10.73 kB → 10.61 kB
src/components/mobile/budget/BudgetPage.tsx 📉 -829 B (-2.01%) 40.37 kB → 39.56 kB
src/redux/store.ts 📉 -23 B (-2.29%) 1006 B → 983 B
src/hooks/useCategories.ts 📉 -537 B (-64.70%) 830 B → 293 B
src/budget/budgetSlice.ts 🔥 -10.13 kB (-100%) 10.13 kB → 0 B
src/hooks/useCategoryActions.ts 🔥 -6.77 kB (-100%) 6.77 kB → 0 B
View detailed bundle breakdown

Added
No assets were added

Removed
No assets were removed

Bigger

Asset File Size % Changed
static/js/index.js 9.22 MB → 9.31 MB (+85.21 kB) +0.90%

Smaller

Asset File Size % Changed
static/js/narrow.js 641.19 kB → 640.46 kB (-755 B) -0.11%
static/js/ReportRouter.js 1.11 MB → 1.11 MB (-209 B) -0.02%

Unchanged

Asset File Size % Changed
static/js/indexeddb-main-thread-worker-e59fee74.js 12.94 kB 0%
static/js/workbox-window.prod.es5.js 5.64 kB 0%
static/js/da.js 106.62 kB 0%
static/js/de.js 178.5 kB 0%
static/js/en-GB.js 7.18 kB 0%
static/js/en.js 162.91 kB 0%
static/js/es.js 173.92 kB 0%
static/js/fr.js 179.72 kB 0%
static/js/it.js 171.54 kB 0%
static/js/nb-NO.js 157.23 kB 0%
static/js/nl.js 106.65 kB 0%
static/js/pl.js 88.64 kB 0%
static/js/pt-BR.js 146.62 kB 0%
static/js/ru.js 106.97 kB 0%
static/js/sv.js 78.2 kB 0%
static/js/th.js 182.35 kB 0%
static/js/uk.js 215.11 kB 0%
static/js/resize-observer.js 18.37 kB 0%
static/js/BackgroundImage.js 120.54 kB 0%
static/js/TransactionList.js 105.97 kB 0%
static/js/wide.js 160.07 kB 0%
static/js/AppliedFilters.js 9.71 kB 0%
static/js/usePayeeRuleCounts.js 11.79 kB 0%
static/js/useTransactionBatchActions.js 13.23 kB 0%
static/js/FormulaEditor.js 1.04 MB 0%

loot-core

Total

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

api

Total

Files count Total bundle size % Changed
1 4.39 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
bundle.api.js 4.39 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/5977 **Author:** [@joel-jeremy](https://github.com/joel-jeremy) **Created:** 10/21/2025 **Status:** ✅ Merged **Merged:** 2/5/2026 **Merged by:** [@joel-jeremy](https://github.com/joel-jeremy) **Base:** `master` ← **Head:** `react-query-categories` --- ### 📝 Commits (10+) - [`60f2564`](https://github.com/actualbudget/actual/commit/60f256487bbbefa5e94e8a00353a3e282a9e7c6e) Move redux state to react query - category states - [`aa1c5a7`](https://github.com/actualbudget/actual/commit/aa1c5a715264304d683dfe5eea985650d2b3b200) Fix typecheck errors - [`98209cc`](https://github.com/actualbudget/actual/commit/98209cce5f0793764c53cb11c9f201ee5eadb743) Fix typecheck errors - [`2904187`](https://github.com/actualbudget/actual/commit/2904187d453029079a1397f2997ae1e086955833) Fix typecheck errors - [`f6fe040`](https://github.com/actualbudget/actual/commit/f6fe040e0f7d75ea0080df96bf43e1f33b8d455e) Remove t argument - [`e2820e8`](https://github.com/actualbudget/actual/commit/e2820e8539411e30055d5b95d45b1255a8dfbbe4) [autofix.ci] apply automated fixes - [`e2f8c6c`](https://github.com/actualbudget/actual/commit/e2f8c6c10fc9794764f68ffc207bcc9f689016f7) Coderabbot suggestion - [`4604bff`](https://github.com/actualbudget/actual/commit/4604bff559da4998d421f3d0a8684ee4c82bc3c3) Code review feedback - [`58e1450`](https://github.com/actualbudget/actual/commit/58e145058486cc75f7146d6ee5925d4effa82212) Fix type - [`8e3dbf4`](https://github.com/actualbudget/actual/commit/8e3dbf49afd63b2df370ea718192a1c17a6844f0) Coderabbit ### 📊 Changes **28 files changed** (+1217 additions, -1167 deletions) <details> <summary>View changed files</summary> 📝 `.oxlintrc.json` (+1 -1) 📝 `packages/desktop-client/package.json` (+1 -0) ➖ `packages/desktop-client/src/budget/budgetSlice.ts` (+0 -654) ➕ `packages/desktop-client/src/budget/index.ts` (+2 -0) ➕ `packages/desktop-client/src/budget/mutations.ts` (+843 -0) ➕ `packages/desktop-client/src/budget/queries.ts` (+65 -0) 📝 `packages/desktop-client/src/components/App.tsx` (+3 -1) 📝 `packages/desktop-client/src/components/autocomplete/CategoryAutocomplete.tsx` (+1 -1) 📝 `packages/desktop-client/src/components/budget/BudgetTable.tsx` (+11 -14) 📝 `packages/desktop-client/src/components/budget/index.tsx` (+68 -38) 📝 `packages/desktop-client/src/components/mobile/budget/BudgetPage.tsx` (+77 -109) 📝 `packages/desktop-client/src/components/mobile/budget/ExpenseCategoryList.tsx` (+17 -22) 📝 `packages/desktop-client/src/components/mobile/budget/ExpenseGroupList.tsx` (+15 -20) 📝 `packages/desktop-client/src/components/mobile/budget/IncomeCategoryList.tsx` (+17 -22) 📝 `packages/desktop-client/src/components/modals/ImportTransactionsModal/ImportTransactionsModal.tsx` (+6 -6) 📝 `packages/desktop-client/src/components/transactions/TransactionsTable.tsx` (+14 -1) 📝 `packages/desktop-client/src/global-events.ts` (+10 -4) 📝 `packages/desktop-client/src/hooks/useCategories.ts` (+5 -19) ➕ `packages/desktop-client/src/hooks/useCategoriesQuery.ts` (+7 -0) 📝 `packages/desktop-client/src/hooks/useCategory.ts` (+7 -4) _...and 8 more files_ </details> ### 📄 Description <!-- Thank you for submitting a pull request! Make sure to follow the instructions to write release notes for your PR — it should only take a minute or two: https://github.com/actualbudget/docs#writing-good-release-notes. Try running yarn generate:release-notes *before* pushing your PR for an interactive experience. --> The move to react-query is an effort to further reduce the overall database queries by leveraging a cache. Right now, data that is used by Actual is maintained in the redux store. There is a lot of manual tracking done right now to prevent loading the data more than necessary (via isLoading, isLoaded, isDirty states). Moving to react-query removes the need to manually track those states. If this is approved, I'm planning to migrate the entire redux store, one slice at a time. I didn't change the return types of the category hooks in this PR but I'm planning to expose the react-query states in a future PR i.e. ```javascript const { data: categories, isLoading, isFetching, error } = useCategories(); ``` This also opens up the possibility to use `Suspense` to simplify showing of loading states throughout the app <!--- actual-bot-sections ---> <hr /> <!--- bundlestats-action-comment key:combined start ---> ### Bundle Stats Bundle | Files count | Total bundle size | % Changed ------ | ----------- | ----------------- | --------- desktop-client | 28 | 14.47 MB → 14.55 MB (+84.27 kB) | +0.57% loot-core | 1 | 5.85 MB | 0% api | 1 | 4.39 MB | 0% <details> <summary>View detailed bundle stats</summary> #### desktop-client **Total** Files count | Total bundle size | % Changed ----------- | ----------------- | --------- 28 | 14.47 MB → 14.55 MB (+84.27 kB) | +0.57% <details> <summary>Changeset</summary> File | Δ | Size ---- | - | ---- `src/budget/mutations.ts` | 🆕 +21.44 kB | 0 B → 21.44 kB `node_modules/@tanstack/query-core/build/modern/queryObserver.js` | 🆕 +15.52 kB | 0 B → 15.52 kB `node_modules/@tanstack/query-core/build/modern/query.js` | 🆕 +11.35 kB | 0 B → 11.35 kB `node_modules/@tanstack/query-core/build/modern/queryClient.js` | 🆕 +8.82 kB | 0 B → 8.82 kB `node_modules/@tanstack/query-core/build/modern/mutation.js` | 🆕 +6.44 kB | 0 B → 6.44 kB `node_modules/@tanstack/query-core/build/modern/utils.js` | 🆕 +5.72 kB | 0 B → 5.72 kB `node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js` | 🆕 +3.73 kB | 0 B → 3.73 kB `node_modules/@tanstack/query-core/build/modern/mutationObserver.js` | 🆕 +3.32 kB | 0 B → 3.32 kB `node_modules/@tanstack/query-core/build/modern/mutationCache.js` | 🆕 +3.24 kB | 0 B → 3.24 kB `node_modules/@tanstack/query-core/build/modern/retryer.js` | 🆕 +3.18 kB | 0 B → 3.18 kB `node_modules/@tanstack/react-query/build/modern/useBaseQuery.js` | 🆕 +2.56 kB | 0 B → 2.56 kB `node_modules/@tanstack/query-core/build/modern/queryCache.js` | 🆕 +2.1 kB | 0 B → 2.1 kB `node_modules/@tanstack/query-core/build/modern/notifyManager.js` | 🆕 +1.81 kB | 0 B → 1.81 kB `node_modules/@tanstack/query-core/build/modern/timeoutManager.js` | 🆕 +1.71 kB | 0 B → 1.71 kB `node_modules/@tanstack/query-core/build/modern/focusManager.js` | 🆕 +1.39 kB | 0 B → 1.39 kB `node_modules/@tanstack/query-core/build/modern/onlineManager.js` | 🆕 +1.28 kB | 0 B → 1.28 kB `src/budget/queries.ts` | 🆕 +1.08 kB | 0 B → 1.08 kB `node_modules/@tanstack/react-query/build/modern/suspense.js` | 🆕 +1016 B | 0 B → 1016 B `node_modules/@tanstack/react-query/build/modern/useMutation.js` | 🆕 +912 B | 0 B → 912 B `node_modules/@tanstack/react-query/build/modern/errorBoundaryUtils.js` | 🆕 +699 B | 0 B → 699 B `node_modules/@tanstack/query-core/build/modern/thenable.js` | 🆕 +633 B | 0 B → 633 B `node_modules/@tanstack/query-core/build/modern/removable.js` | 🆕 +599 B | 0 B → 599 B `node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js` | 🆕 +572 B | 0 B → 572 B `node_modules/@tanstack/query-core/build/modern/subscribable.js` | 🆕 +454 B | 0 B → 454 B `node_modules/@tanstack/react-query/build/modern/QueryErrorResetBoundary.js` | 🆕 +392 B | 0 B → 392 B `src/hooks/useCategoriesQuery.ts` | 🆕 +261 B | 0 B → 261 B `node_modules/@tanstack/react-query/build/modern/IsRestoringProvider.js` | 🆕 +160 B | 0 B → 160 B `node_modules/@tanstack/react-query/build/modern/useQuery.js` | 🆕 +92 B | 0 B → 92 B `node_modules/@tanstack/react-query/build/modern/queryOptions.js` | 🆕 +75 B | 0 B → 75 B `src/components/budget/index.tsx` | 📈 +1.83 kB (+17.02%) | 10.75 kB → 12.58 kB `src/index.tsx` | 📈 +166 B (+10.74%) | 1.51 kB → 1.67 kB `src/hooks/useCategory.ts` | 📈 +26 B (+5.92%) | 439 B → 465 B `src/hooks/useCategoryGroup.ts` | 📈 +10 B (+2.16%) | 463 B → 473 B `src/global-events.ts` | 📈 +74 B (+1.95%) | 3.71 kB → 3.79 kB `src/components/App.tsx` | 📈 +117 B (+1.21%) | 9.44 kB → 9.56 kB `src/components/mobile/budget/ExpenseGroupList.tsx` | 📈 +38 B (+0.70%) | 5.31 kB → 5.34 kB `src/sync-events.ts` | 📈 +65 B (+0.65%) | 9.8 kB → 9.86 kB `src/components/mobile/budget/IncomeCategoryList.tsx` | 📈 +18 B (+0.53%) | 3.31 kB → 3.33 kB `src/components/mobile/budget/ExpenseCategoryList.tsx` | 📈 +18 B (+0.46%) | 3.83 kB → 3.85 kB `src/components/transactions/TransactionsTable.tsx` | 📈 +214 B (+0.24%) | 85.88 kB → 86.09 kB `src/components/reports/reports/CashFlow.tsx` | 📈 +1 B (+0.01%) | 8.97 kB → 8.97 kB `src/components/reports/Header.tsx` | 📈 +1 B (+0.01%) | 14.21 kB → 14.21 kB `src/components/reports/reports/NetWorth.tsx` | 📈 +1 B (+0.01%) | 14.64 kB → 14.64 kB `src/components/reports/reports/Summary.tsx` | 📈 +1 B (+0.00%) | 27.38 kB → 27.38 kB `src/components/reports/reports/Calendar.tsx` | 📈 +1 B (+0.00%) | 28.98 kB → 28.99 kB `src/components/reports/reports/Crossover.tsx` | 📉 -7 B (-0.02%) | 40.88 kB → 40.88 kB `src/components/modals/ImportTransactionsModal/ImportTransactionsModal.tsx` | 📉 -21 B (-0.07%) | 28.32 kB → 28.3 kB `src/components/formula/QueryManager.tsx` | 📉 -43 B (-0.18%) | 23.89 kB → 23.85 kB `src/components/reports/reports/Spending.tsx` | 📉 -48 B (-0.20%) | 23.34 kB → 23.29 kB `src/components/budget/BudgetTable.tsx` | 📉 -88 B (-0.78%) | 11.03 kB → 10.95 kB `src/components/autocomplete/CategoryAutocomplete.tsx` | 📉 -146 B (-0.82%) | 17.3 kB → 17.16 kB `src/components/reports/reports/CrossoverCard.tsx` | 📉 -116 B (-1.06%) | 10.73 kB → 10.61 kB `src/components/mobile/budget/BudgetPage.tsx` | 📉 -829 B (-2.01%) | 40.37 kB → 39.56 kB `src/redux/store.ts` | 📉 -23 B (-2.29%) | 1006 B → 983 B `src/hooks/useCategories.ts` | 📉 -537 B (-64.70%) | 830 B → 293 B `src/budget/budgetSlice.ts` | 🔥 -10.13 kB (-100%) | 10.13 kB → 0 B `src/hooks/useCategoryActions.ts` | 🔥 -6.77 kB (-100%) | 6.77 kB → 0 B </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 | 9.22 MB → 9.31 MB (+85.21 kB) | +0.90% **Smaller** Asset | File Size | % Changed ----- | --------- | --------- static/js/narrow.js | 641.19 kB → 640.46 kB (-755 B) | -0.11% static/js/ReportRouter.js | 1.11 MB → 1.11 MB (-209 B) | -0.02% **Unchanged** Asset | File Size | % Changed ----- | --------- | --------- static/js/indexeddb-main-thread-worker-e59fee74.js | 12.94 kB | 0% static/js/workbox-window.prod.es5.js | 5.64 kB | 0% static/js/da.js | 106.62 kB | 0% static/js/de.js | 178.5 kB | 0% static/js/en-GB.js | 7.18 kB | 0% static/js/en.js | 162.91 kB | 0% static/js/es.js | 173.92 kB | 0% static/js/fr.js | 179.72 kB | 0% static/js/it.js | 171.54 kB | 0% static/js/nb-NO.js | 157.23 kB | 0% static/js/nl.js | 106.65 kB | 0% static/js/pl.js | 88.64 kB | 0% static/js/pt-BR.js | 146.62 kB | 0% static/js/ru.js | 106.97 kB | 0% static/js/sv.js | 78.2 kB | 0% static/js/th.js | 182.35 kB | 0% static/js/uk.js | 215.11 kB | 0% static/js/resize-observer.js | 18.37 kB | 0% static/js/BackgroundImage.js | 120.54 kB | 0% static/js/TransactionList.js | 105.97 kB | 0% static/js/wide.js | 160.07 kB | 0% static/js/AppliedFilters.js | 9.71 kB | 0% static/js/usePayeeRuleCounts.js | 11.79 kB | 0% static/js/useTransactionBatchActions.js | 13.23 kB | 0% static/js/FormulaEditor.js | 1.04 MB | 0% </div> </details> --- #### loot-core **Total** Files count | Total bundle size | % Changed ----------- | ----------------- | --------- 1 | 5.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.C30497Fh.js | 5.85 MB | 0% </div> </details> --- #### api **Total** Files count | Total bundle size | % Changed ----------- | ----------------- | --------- 1 | 4.39 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 ----- | --------- | --------- bundle.api.js | 4.39 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-05-01 02:33: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#55551