[PR #7050] [AI] Refactor YNAB importers to use server-side send() and handler API #6903

Open
opened 2026-02-28 21:34:16 -06:00 by GiteaMirror · 0 comments
Owner

Original Pull Request: https://github.com/actualbudget/actual/pull/7050

State: open
Merged: No


Extracted from https://github.com/actualbudget/actual/pull/6809

Technically the same as before.. except no reliance on the API package.


Bundle Stats

Bundle Files count Total bundle size % Changed
desktop-client 27 14.85 MB 0%
loot-core 1 5.82 MB → 5.82 MB (-297 B) -0.00%
api 1 4.43 MB → 4.43 MB (-317 B) -0.01%
View detailed bundle stats

desktop-client

Total

Files count Total bundle size % Changed
27 14.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
static/js/index.js 9.54 MB 0%
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/ca.js 188.15 kB 0%
static/js/da.js 106.35 kB 0%
static/js/de.js 180.07 kB 0%
static/js/en-GB.js 7.18 kB 0%
static/js/en.js 170.37 kB 0%
static/js/es.js 174.55 kB 0%
static/js/fr.js 179.6 kB 0%
static/js/it.js 171.16 kB 0%
static/js/nb-NO.js 156.96 kB 0%
static/js/nl.js 106.37 kB 0%
static/js/pl.js 88.37 kB 0%
static/js/pt-BR.js 154.22 kB 0%
static/js/th.js 181.87 kB 0%
static/js/uk.js 214.74 kB 0%
static/js/resize-observer.js 18.37 kB 0%
static/js/BackgroundImage.js 120.54 kB 0%
static/js/ReportRouter.js 1.16 MB 0%
static/js/narrow.js 637.68 kB 0%
static/js/TransactionList.js 106.22 kB 0%
static/js/wide.js 164.15 kB 0%
static/js/AppliedFilters.js 9.71 kB 0%
static/js/usePayeeRuleCounts.js 10.04 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.82 MB → 5.82 MB (-297 B) -0.00%
Changeset
File Δ Size
home/runner/work/actual/actual/packages/loot-core/src/server/main-app.ts 📈 +107 B (+93.86%) 114 B → 221 B
home/runner/work/actual/actual/packages/loot-core/src/server/importers/ynab4.ts 📈 +889 B (+7.82%) 11.1 kB → 11.97 kB
home/runner/work/actual/actual/packages/loot-core/src/server/importers/ynab5.ts 📈 +848 B (+2.88%) 28.75 kB → 29.57 kB
home/runner/work/actual/actual/packages/loot-core/src/server/transactions/transaction-rules.ts 📉 -2 B (-0.01%) 25.25 kB → 25.25 kB
home/runner/work/actual/actual/packages/loot-core/src/server/budget/category-template-context.ts 📉 -4 B (-0.02%) 23.49 kB → 23.49 kB
home/runner/work/actual/actual/packages/loot-core/src/server/dashboard/app.ts 📉 -2 B (-0.02%) 9.51 kB → 9.51 kB
home/runner/work/actual/actual/packages/loot-core/src/server/budget/base.ts 📉 -2 B (-0.02%) 8.81 kB → 8.81 kB
home/runner/work/actual/actual/packages/loot-core/src/server/aql/schema/executors.ts 📉 -2 B (-0.03%) 7.36 kB → 7.35 kB
home/runner/work/actual/actual/packages/loot-core/src/server/accounts/app.ts 📉 -8 B (-0.03%) 27.28 kB → 27.27 kB
home/runner/work/actual/actual/packages/loot-core/src/mocks/budget.ts 📉 -8 B (-0.03%) 25.08 kB → 25.08 kB
home/runner/work/actual/actual/packages/loot-core/src/server/reports/app.ts 📉 -2 B (-0.05%) 4.27 kB → 4.27 kB
home/runner/work/actual/actual/packages/loot-core/src/server/transactions/merge.ts 📉 -2 B (-0.06%) 3.44 kB → 3.44 kB
home/runner/work/actual/actual/packages/loot-core/src/server/tools/app.ts 📉 -2 B (-0.06%) 3.36 kB → 3.36 kB
home/runner/work/actual/actual/packages/loot-core/src/server/accounts/sync.ts 📉 -16 B (-0.06%) 25.88 kB → 25.87 kB
home/runner/work/actual/actual/packages/loot-core/src/server/transactions/export/export-to-csv.ts 📉 -2 B (-0.06%) 3.2 kB → 3.2 kB
home/runner/work/actual/actual/packages/loot-core/src/server/schedules/find-schedules.ts 📉 -6 B (-0.06%) 9.47 kB → 9.46 kB
home/runner/work/actual/actual/packages/loot-core/src/server/api.ts 📉 -20 B (-0.08%) 25.96 kB → 25.94 kB
home/runner/work/actual/actual/packages/loot-core/src/server/budget/goal-template.ts 📉 -8 B (-0.11%) 7.02 kB → 7.01 kB
home/runner/work/actual/actual/packages/loot-core/src/server/budget/app.ts 📉 -14 B (-0.13%) 10.17 kB → 10.15 kB
home/runner/work/actual/actual/packages/loot-core/src/server/transactions/app.ts 📉 -4 B (-0.16%) 2.41 kB → 2.4 kB
home/runner/work/actual/actual/packages/loot-core/src/server/schedules/app.ts 📉 -22 B (-0.17%) 12.71 kB → 12.68 kB
home/runner/work/actual/actual/packages/loot-core/src/server/aql/index.ts 📉 -2 B (-0.43%) 470 B → 468 B
home/runner/work/actual/actual/packages/loot-core/src/server/main.ts 📉 -74 B (-1.21%) 5.96 kB → 5.89 kB
home/runner/work/actual/actual/packages/api/methods.ts 🔥 -1.75 kB (-100%) 1.75 kB → 0 B
home/runner/work/actual/actual/packages/api/injected.js 🔥 -148 B (-100%) 148 B → 0 B
View detailed bundle breakdown

Added

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

Removed

Asset File Size % Changed
kcab.worker.BwrdDDMW.js 5.82 MB → 0 B (-5.82 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
1 4.43 MB → 4.43 MB (-317 B) -0.01%
Changeset
File Δ Size
src/server/main-app.ts 📈 +95 B (+141.79%) 67 B → 162 B
src/server/importers/ynab4.ts 📈 +753 B (+7.41%) 9.92 kB → 10.66 kB
src/server/importers/ynab5.ts 📈 +720 B (+2.74%) 25.69 kB → 26.39 kB
src/server/transactions/transaction-rules.ts 📉 -2 B (-0.01%) 22.43 kB → 22.43 kB
src/server/budget/category-template-context.ts 📉 -4 B (-0.02%) 20.99 kB → 20.99 kB
src/server/dashboard/app.ts 📉 -2 B (-0.02%) 8.51 kB → 8.51 kB
src/server/budget/base.ts 📉 -2 B (-0.02%) 7.89 kB → 7.89 kB
src/server/aql/schema/executors.ts 📉 -2 B (-0.03%) 6.64 kB → 6.64 kB
src/server/accounts/app.ts 📉 -8 B (-0.03%) 23.3 kB → 23.29 kB
src/mocks/budget.ts 📉 -8 B (-0.04%) 22.28 kB → 22.27 kB
src/server/reports/app.ts 📉 -2 B (-0.05%) 3.78 kB → 3.78 kB
src/server/tools/app.ts 📉 -2 B (-0.06%) 3.11 kB → 3.11 kB
src/server/transactions/merge.ts 📉 -2 B (-0.06%) 3.07 kB → 3.07 kB
src/server/accounts/sync.ts 📉 -16 B (-0.07%) 23.1 kB → 23.09 kB
src/server/transactions/export/export-to-csv.ts 📉 -2 B (-0.07%) 2.87 kB → 2.87 kB
src/server/schedules/find-schedules.ts 📉 -6 B (-0.07%) 8.31 kB → 8.3 kB
src/server/api.ts 📉 -20 B (-0.09%) 22.72 kB → 22.7 kB
src/server/budget/goal-template.ts 📉 -8 B (-0.13%) 6.18 kB → 6.17 kB
src/server/budget/app.ts 📉 -14 B (-0.15%) 8.91 kB → 8.9 kB
src/server/transactions/app.ts 📉 -4 B (-0.18%) 2.12 kB → 2.12 kB
src/server/schedules/app.ts 📉 -22 B (-0.20%) 11 kB → 10.98 kB
src/server/aql/index.ts 📉 -2 B (-0.49%) 410 B → 408 B
src/server/main.ts 📉 -70 B (-1.32%) 5.17 kB → 5.1 kB
home/runner/work/actual/actual/packages/api/methods.ts 🔥 -1.52 kB (-100%) 1.52 kB → 0 B
home/runner/work/actual/actual/packages/api/injected.js 🔥 -128 B (-100%) 128 B → 0 B
View detailed bundle breakdown

Added
No assets were added

Removed
No assets were removed

Bigger
No assets were bigger

Smaller

Asset File Size % Changed
bundle.api.js 4.43 MB → 4.43 MB (-317 B) -0.01%

Unchanged
No assets were unchanged

**Original Pull Request:** https://github.com/actualbudget/actual/pull/7050 **State:** open **Merged:** No --- Extracted from https://github.com/actualbudget/actual/pull/6809 Technically the same as before.. except no reliance on the API package. <!--- actual-bot-sections ---> <hr /> <!--- bundlestats-action-comment key:combined start ---> ### Bundle Stats Bundle | Files count | Total bundle size | % Changed ------ | ----------- | ----------------- | --------- desktop-client | 27 | 14.85 MB | 0% loot-core | 1 | 5.82 MB → 5.82 MB (-297 B) | -0.00% api | 1 | 4.43 MB → 4.43 MB (-317 B) | -0.01% <details> <summary>View detailed bundle stats</summary> #### desktop-client **Total** Files count | Total bundle size | % Changed ----------- | ----------------- | --------- 27 | 14.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 ----- | --------- | --------- static/js/index.js | 9.54 MB | 0% 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/ca.js | 188.15 kB | 0% static/js/da.js | 106.35 kB | 0% static/js/de.js | 180.07 kB | 0% static/js/en-GB.js | 7.18 kB | 0% static/js/en.js | 170.37 kB | 0% static/js/es.js | 174.55 kB | 0% static/js/fr.js | 179.6 kB | 0% static/js/it.js | 171.16 kB | 0% static/js/nb-NO.js | 156.96 kB | 0% static/js/nl.js | 106.37 kB | 0% static/js/pl.js | 88.37 kB | 0% static/js/pt-BR.js | 154.22 kB | 0% static/js/th.js | 181.87 kB | 0% static/js/uk.js | 214.74 kB | 0% static/js/resize-observer.js | 18.37 kB | 0% static/js/BackgroundImage.js | 120.54 kB | 0% static/js/ReportRouter.js | 1.16 MB | 0% static/js/narrow.js | 637.68 kB | 0% static/js/TransactionList.js | 106.22 kB | 0% static/js/wide.js | 164.15 kB | 0% static/js/AppliedFilters.js | 9.71 kB | 0% static/js/usePayeeRuleCounts.js | 10.04 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.82 MB → 5.82 MB (-297 B) | -0.00% <details> <summary>Changeset</summary> File | Δ | Size ---- | - | ---- `home/runner/work/actual/actual/packages/loot-core/src/server/main-app.ts` | 📈 +107 B (+93.86%) | 114 B → 221 B `home/runner/work/actual/actual/packages/loot-core/src/server/importers/ynab4.ts` | 📈 +889 B (+7.82%) | 11.1 kB → 11.97 kB `home/runner/work/actual/actual/packages/loot-core/src/server/importers/ynab5.ts` | 📈 +848 B (+2.88%) | 28.75 kB → 29.57 kB `home/runner/work/actual/actual/packages/loot-core/src/server/transactions/transaction-rules.ts` | 📉 -2 B (-0.01%) | 25.25 kB → 25.25 kB `home/runner/work/actual/actual/packages/loot-core/src/server/budget/category-template-context.ts` | 📉 -4 B (-0.02%) | 23.49 kB → 23.49 kB `home/runner/work/actual/actual/packages/loot-core/src/server/dashboard/app.ts` | 📉 -2 B (-0.02%) | 9.51 kB → 9.51 kB `home/runner/work/actual/actual/packages/loot-core/src/server/budget/base.ts` | 📉 -2 B (-0.02%) | 8.81 kB → 8.81 kB `home/runner/work/actual/actual/packages/loot-core/src/server/aql/schema/executors.ts` | 📉 -2 B (-0.03%) | 7.36 kB → 7.35 kB `home/runner/work/actual/actual/packages/loot-core/src/server/accounts/app.ts` | 📉 -8 B (-0.03%) | 27.28 kB → 27.27 kB `home/runner/work/actual/actual/packages/loot-core/src/mocks/budget.ts` | 📉 -8 B (-0.03%) | 25.08 kB → 25.08 kB `home/runner/work/actual/actual/packages/loot-core/src/server/reports/app.ts` | 📉 -2 B (-0.05%) | 4.27 kB → 4.27 kB `home/runner/work/actual/actual/packages/loot-core/src/server/transactions/merge.ts` | 📉 -2 B (-0.06%) | 3.44 kB → 3.44 kB `home/runner/work/actual/actual/packages/loot-core/src/server/tools/app.ts` | 📉 -2 B (-0.06%) | 3.36 kB → 3.36 kB `home/runner/work/actual/actual/packages/loot-core/src/server/accounts/sync.ts` | 📉 -16 B (-0.06%) | 25.88 kB → 25.87 kB `home/runner/work/actual/actual/packages/loot-core/src/server/transactions/export/export-to-csv.ts` | 📉 -2 B (-0.06%) | 3.2 kB → 3.2 kB `home/runner/work/actual/actual/packages/loot-core/src/server/schedules/find-schedules.ts` | 📉 -6 B (-0.06%) | 9.47 kB → 9.46 kB `home/runner/work/actual/actual/packages/loot-core/src/server/api.ts` | 📉 -20 B (-0.08%) | 25.96 kB → 25.94 kB `home/runner/work/actual/actual/packages/loot-core/src/server/budget/goal-template.ts` | 📉 -8 B (-0.11%) | 7.02 kB → 7.01 kB `home/runner/work/actual/actual/packages/loot-core/src/server/budget/app.ts` | 📉 -14 B (-0.13%) | 10.17 kB → 10.15 kB `home/runner/work/actual/actual/packages/loot-core/src/server/transactions/app.ts` | 📉 -4 B (-0.16%) | 2.41 kB → 2.4 kB `home/runner/work/actual/actual/packages/loot-core/src/server/schedules/app.ts` | 📉 -22 B (-0.17%) | 12.71 kB → 12.68 kB `home/runner/work/actual/actual/packages/loot-core/src/server/aql/index.ts` | 📉 -2 B (-0.43%) | 470 B → 468 B `home/runner/work/actual/actual/packages/loot-core/src/server/main.ts` | 📉 -74 B (-1.21%) | 5.96 kB → 5.89 kB `home/runner/work/actual/actual/packages/api/methods.ts` | 🔥 -1.75 kB (-100%) | 1.75 kB → 0 B `home/runner/work/actual/actual/packages/api/injected.js` | 🔥 -148 B (-100%) | 148 B → 0 B </details> <details> <summary>View detailed bundle breakdown</summary> <div> **Added** Asset | File Size | % Changed ----- | --------- | --------- kcab.worker.D_mniVXy.js | 0 B → 5.82 MB (+5.82 MB) | - **Removed** Asset | File Size | % Changed ----- | --------- | --------- kcab.worker.BwrdDDMW.js | 5.82 MB → 0 B (-5.82 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 ----------- | ----------------- | --------- 1 | 4.43 MB → 4.43 MB (-317 B) | -0.01% <details> <summary>Changeset</summary> File | Δ | Size ---- | - | ---- `src/server/main-app.ts` | 📈 +95 B (+141.79%) | 67 B → 162 B `src/server/importers/ynab4.ts` | 📈 +753 B (+7.41%) | 9.92 kB → 10.66 kB `src/server/importers/ynab5.ts` | 📈 +720 B (+2.74%) | 25.69 kB → 26.39 kB `src/server/transactions/transaction-rules.ts` | 📉 -2 B (-0.01%) | 22.43 kB → 22.43 kB `src/server/budget/category-template-context.ts` | 📉 -4 B (-0.02%) | 20.99 kB → 20.99 kB `src/server/dashboard/app.ts` | 📉 -2 B (-0.02%) | 8.51 kB → 8.51 kB `src/server/budget/base.ts` | 📉 -2 B (-0.02%) | 7.89 kB → 7.89 kB `src/server/aql/schema/executors.ts` | 📉 -2 B (-0.03%) | 6.64 kB → 6.64 kB `src/server/accounts/app.ts` | 📉 -8 B (-0.03%) | 23.3 kB → 23.29 kB `src/mocks/budget.ts` | 📉 -8 B (-0.04%) | 22.28 kB → 22.27 kB `src/server/reports/app.ts` | 📉 -2 B (-0.05%) | 3.78 kB → 3.78 kB `src/server/tools/app.ts` | 📉 -2 B (-0.06%) | 3.11 kB → 3.11 kB `src/server/transactions/merge.ts` | 📉 -2 B (-0.06%) | 3.07 kB → 3.07 kB `src/server/accounts/sync.ts` | 📉 -16 B (-0.07%) | 23.1 kB → 23.09 kB `src/server/transactions/export/export-to-csv.ts` | 📉 -2 B (-0.07%) | 2.87 kB → 2.87 kB `src/server/schedules/find-schedules.ts` | 📉 -6 B (-0.07%) | 8.31 kB → 8.3 kB `src/server/api.ts` | 📉 -20 B (-0.09%) | 22.72 kB → 22.7 kB `src/server/budget/goal-template.ts` | 📉 -8 B (-0.13%) | 6.18 kB → 6.17 kB `src/server/budget/app.ts` | 📉 -14 B (-0.15%) | 8.91 kB → 8.9 kB `src/server/transactions/app.ts` | 📉 -4 B (-0.18%) | 2.12 kB → 2.12 kB `src/server/schedules/app.ts` | 📉 -22 B (-0.20%) | 11 kB → 10.98 kB `src/server/aql/index.ts` | 📉 -2 B (-0.49%) | 410 B → 408 B `src/server/main.ts` | 📉 -70 B (-1.32%) | 5.17 kB → 5.1 kB `home/runner/work/actual/actual/packages/api/methods.ts` | 🔥 -1.52 kB (-100%) | 1.52 kB → 0 B `home/runner/work/actual/actual/packages/api/injected.js` | 🔥 -128 B (-100%) | 128 B → 0 B </details> <details> <summary>View detailed bundle breakdown</summary> <div> **Added** No assets were added **Removed** No assets were removed **Bigger** No assets were bigger **Smaller** Asset | File Size | % Changed ----- | --------- | --------- bundle.api.js | 4.43 MB → 4.43 MB (-317 B) | -0.01% **Unchanged** No assets were unchanged </div> </details> </details> <!--- bundlestats-action-comment key:combined end --->
GiteaMirror added the pull-request label 2026-02-28 21:34:16 -06:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#6903