[PR #7449] Bank sync page refactor #14228

Open
opened 2026-04-10 22:16:59 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/actualbudget/actual/pull/7449
Author: @lelemm
Created: 4/9/2026
Status: 🔄 Open

Base: masterHead: feat/banksync-page


📝 Commits (4)

  • c91eea5 Bank sync refactor extracted from plugins
  • d8eba18 Merge branch 'master' into feat/banksync-page
  • 6b0242f code review
  • c2150e5 Update VRT screenshots

📊 Changes

14 files changed (+1014 additions, -686 deletions)

View changed files

📝 packages/desktop-client/e2e/bank-sync.test.ts-snapshots/Bank-Sync-checks-the-page-visuals-1-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/bank-sync.test.ts-snapshots/Bank-Sync-checks-the-page-visuals-2-chromium-linux.png (+0 -0)
📝 packages/desktop-client/e2e/bank-sync.test.ts-snapshots/Bank-Sync-checks-the-page-visuals-3-chromium-linux.png (+0 -0)
packages/desktop-client/src/components/banksync/BuiltInProviders.tsx (+213 -0)
packages/desktop-client/src/components/banksync/bankSyncUtils.test.ts (+54 -0)
packages/desktop-client/src/components/banksync/bankSyncUtils.ts (+82 -0)
📝 packages/desktop-client/src/components/banksync/index.tsx (+40 -51)
packages/desktop-client/src/components/banksync/useBuiltInBankSyncProviders.ts (+472 -0)
📝 packages/desktop-client/src/components/mobile/banksync/BankSyncAccountsList.tsx (+10 -8)
📝 packages/desktop-client/src/components/mobile/banksync/MobileBankSyncPage.tsx (+26 -57)
📝 packages/desktop-client/src/components/modals/CreateAccountModal.tsx (+80 -566)
📝 packages/desktop-client/src/components/modals/SelectLinkedAccountsModal.tsx (+25 -2)
📝 packages/desktop-client/src/gocardless.ts (+6 -2)
upcoming-release-notes/7449.md (+6 -0)

📄 Description

Description

This PR ports the redesigned bank sync UI.

It adds the new /bank-sync provider-driven experience for GoCardless, SimpleFIN, and Pluggy.ai, reuses the existing built-in provider setup/link modals and mutations, and updates the Add account modal so bank sync setup is routed through the Bank Sync page instead of being configured inline.

Relates to the effort to split the oversized bank sync plugin refactor work by extracting only the redesigned bank sync page and add-account experience.

Testing

  • Manually verify the new /bank-sync page

Checklist

  • 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 27 12.86 MB → 12.87 MB (+7.51 kB) +0.06%
loot-core 1 4.84 MB 0%
api 1 3.84 MB 0%
cli 1 7.89 MB 0%
View detailed bundle stats

desktop-client

Total

Files count Total bundle size % Changed
27 12.86 MB → 12.87 MB (+7.51 kB) +0.06%
Changeset
File Δ Size
src/components/banksync/useBuiltInBankSyncProviders.ts 🆕 +8.74 kB 0 B → 8.74 kB
src/components/banksync/BuiltInProviders.tsx 🆕 +6.54 kB 0 B → 6.54 kB
src/components/banksync/bankSyncUtils.ts 🆕 +1.44 kB 0 B → 1.44 kB
src/components/budget/goals/actions.ts 📈 +67 B (+31.31%) 214 B → 281 B
src/components/mobile/banksync/BankSyncAccountsList.tsx 📈 +491 B (+17.85%) 2.69 kB → 3.17 kB
src/components/banksync/index.tsx 📈 +424 B (+8.56%) 4.84 kB → 5.25 kB
src/gocardless.ts 📈 +44 B (+5.07%) 867 B → 911 B
src/components/modals/SelectLinkedAccountsModal.tsx 📈 +931 B (+2.26%) 40.28 kB → 41.19 kB
src/components/mobile/accounts/AccountTransactions.tsx 📈 +2 B (+0.02%) 8.6 kB → 8.6 kB
src/components/mobile/budget/BudgetPage.tsx 📉 -2 B (-0.01%) 35.88 kB → 35.87 kB
src/components/mobile/transactions/TransactionListWithBalances.tsx 📉 -4 B (-0.04%) 10.11 kB → 10.1 kB
src/components/mobile/schedules/MobileSchedulesPage.tsx 📉 -4 B (-0.06%) 6.63 kB → 6.62 kB
src/components/alerts.tsx 📉 -67 B (-1.80%) 3.64 kB → 3.57 kB
src/components/mobile/banksync/MobileBankSyncPage.tsx 📉 -781 B (-13.62%) 5.6 kB → 4.84 kB
src/components/modals/CreateAccountModal.tsx 📉 -10.27 kB (-68.46%) 15.01 kB → 4.73 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.31 MB → 3.32 MB (+7.8 kB) +0.23%

Smaller

Asset File Size % Changed
static/js/narrow.js 363.02 kB → 362.73 kB (-298 B) -0.08%

Unchanged

Asset File Size % Changed
static/js/BackgroundImage.js 121.09 kB 0%
static/js/FormulaEditor.js 852.77 kB 0%
static/js/ReportRouter.js 1.17 MB 0%
static/js/TransactionList.js 82.49 kB 0%
static/js/ca.js 191.98 kB 0%
static/js/da.js 104.66 kB 0%
static/js/de.js 174.38 kB 0%
static/js/en-GB.js 8.2 kB 0%
static/js/en.js 175.72 kB 0%
static/js/es.js 181.8 kB 0%
static/js/fr.js 177.08 kB 0%
static/js/indexeddb-main-thread-worker-e59fee74.js 13.46 kB 0%
static/js/it.js 165.87 kB 0%
static/js/nb-NO.js 151.85 kB 0%
static/js/nl.js 108.93 kB 0%
static/js/pl.js 88.34 kB 0%
static/js/pt-BR.js 177.44 kB 0%
static/js/resize-observer.js 18.06 kB 0%
static/js/th.js 179.3 kB 0%
static/js/theme.js 485.18 kB 0%
static/js/uk.js 212.6 kB 0%
static/js/useTransactionBatchActions.js 4.33 MB 0%
static/js/wide.js 295 B 0%
static/js/workbox-window.prod.es5.js 7.33 kB 0%
static/js/zh-Hans.js 99.27 kB 0%

loot-core

Total

Files count Total bundle size % Changed
1 4.84 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.2cr-I6dh.js 4.84 MB 0%

api

Total

Files count Total bundle size % Changed
1 3.84 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%

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/7449 **Author:** [@lelemm](https://github.com/lelemm) **Created:** 4/9/2026 **Status:** 🔄 Open **Base:** `master` ← **Head:** `feat/banksync-page` --- ### 📝 Commits (4) - [`c91eea5`](https://github.com/actualbudget/actual/commit/c91eea5439c83c5639eb6fdb9b0cf57fbf1422a4) Bank sync refactor extracted from plugins - [`d8eba18`](https://github.com/actualbudget/actual/commit/d8eba18a72e75d87f4124589f20e4a12b160566a) Merge branch 'master' into feat/banksync-page - [`6b0242f`](https://github.com/actualbudget/actual/commit/6b0242fa49ac1aca6a4d905398fb505cc4b95126) code review - [`c2150e5`](https://github.com/actualbudget/actual/commit/c2150e5888aedced7e417050e4134d63b8782939) Update VRT screenshots ### 📊 Changes **14 files changed** (+1014 additions, -686 deletions) <details> <summary>View changed files</summary> 📝 `packages/desktop-client/e2e/bank-sync.test.ts-snapshots/Bank-Sync-checks-the-page-visuals-1-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/bank-sync.test.ts-snapshots/Bank-Sync-checks-the-page-visuals-2-chromium-linux.png` (+0 -0) 📝 `packages/desktop-client/e2e/bank-sync.test.ts-snapshots/Bank-Sync-checks-the-page-visuals-3-chromium-linux.png` (+0 -0) ➕ `packages/desktop-client/src/components/banksync/BuiltInProviders.tsx` (+213 -0) ➕ `packages/desktop-client/src/components/banksync/bankSyncUtils.test.ts` (+54 -0) ➕ `packages/desktop-client/src/components/banksync/bankSyncUtils.ts` (+82 -0) 📝 `packages/desktop-client/src/components/banksync/index.tsx` (+40 -51) ➕ `packages/desktop-client/src/components/banksync/useBuiltInBankSyncProviders.ts` (+472 -0) 📝 `packages/desktop-client/src/components/mobile/banksync/BankSyncAccountsList.tsx` (+10 -8) 📝 `packages/desktop-client/src/components/mobile/banksync/MobileBankSyncPage.tsx` (+26 -57) 📝 `packages/desktop-client/src/components/modals/CreateAccountModal.tsx` (+80 -566) 📝 `packages/desktop-client/src/components/modals/SelectLinkedAccountsModal.tsx` (+25 -2) 📝 `packages/desktop-client/src/gocardless.ts` (+6 -2) ➕ `upcoming-release-notes/7449.md` (+6 -0) </details> ### 📄 Description ## Description This PR ports the redesigned bank sync UI. It adds the new `/bank-sync` provider-driven experience for `GoCardless`, `SimpleFIN`, and `Pluggy.ai`, reuses the existing built-in provider setup/link modals and mutations, and updates the `Add account` modal so bank sync setup is routed through the Bank Sync page instead of being configured inline. ## Related issue(s) Relates to the effort to split the oversized bank sync plugin refactor work by extracting only the redesigned bank sync page and add-account experience. ## Testing - Manually verify the new `/bank-sync` page ## Checklist - [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 ---> <hr /> <!--- bundlestats-action-comment key:combined start ---> ### Bundle Stats Bundle | Files count | Total bundle size | % Changed ------ | ----------- | ----------------- | --------- desktop-client | 27 | 12.86 MB → 12.87 MB (+7.51 kB) | +0.06% loot-core | 1 | 4.84 MB | 0% api | 1 | 3.84 MB | 0% cli | 1 | 7.89 MB | 0% <details> <summary>View detailed bundle stats</summary> #### desktop-client **Total** Files count | Total bundle size | % Changed ----------- | ----------------- | --------- 27 | 12.86 MB → 12.87 MB (+7.51 kB) | +0.06% <details> <summary>Changeset</summary> File | Δ | Size ---- | - | ---- `src/components/banksync/useBuiltInBankSyncProviders.ts` | 🆕 +8.74 kB | 0 B → 8.74 kB `src/components/banksync/BuiltInProviders.tsx` | 🆕 +6.54 kB | 0 B → 6.54 kB `src/components/banksync/bankSyncUtils.ts` | 🆕 +1.44 kB | 0 B → 1.44 kB `src/components/budget/goals/actions.ts` | 📈 +67 B (+31.31%) | 214 B → 281 B `src/components/mobile/banksync/BankSyncAccountsList.tsx` | 📈 +491 B (+17.85%) | 2.69 kB → 3.17 kB `src/components/banksync/index.tsx` | 📈 +424 B (+8.56%) | 4.84 kB → 5.25 kB `src/gocardless.ts` | 📈 +44 B (+5.07%) | 867 B → 911 B `src/components/modals/SelectLinkedAccountsModal.tsx` | 📈 +931 B (+2.26%) | 40.28 kB → 41.19 kB `src/components/mobile/accounts/AccountTransactions.tsx` | 📈 +2 B (+0.02%) | 8.6 kB → 8.6 kB `src/components/mobile/budget/BudgetPage.tsx` | 📉 -2 B (-0.01%) | 35.88 kB → 35.87 kB `src/components/mobile/transactions/TransactionListWithBalances.tsx` | 📉 -4 B (-0.04%) | 10.11 kB → 10.1 kB `src/components/mobile/schedules/MobileSchedulesPage.tsx` | 📉 -4 B (-0.06%) | 6.63 kB → 6.62 kB `src/components/alerts.tsx` | 📉 -67 B (-1.80%) | 3.64 kB → 3.57 kB `src/components/mobile/banksync/MobileBankSyncPage.tsx` | 📉 -781 B (-13.62%) | 5.6 kB → 4.84 kB `src/components/modals/CreateAccountModal.tsx` | 📉 -10.27 kB (-68.46%) | 15.01 kB → 4.73 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.31 MB → 3.32 MB (+7.8 kB) | +0.23% **Smaller** Asset | File Size | % Changed ----- | --------- | --------- static/js/narrow.js | 363.02 kB → 362.73 kB (-298 B) | -0.08% **Unchanged** Asset | File Size | % Changed ----- | --------- | --------- static/js/BackgroundImage.js | 121.09 kB | 0% static/js/FormulaEditor.js | 852.77 kB | 0% static/js/ReportRouter.js | 1.17 MB | 0% static/js/TransactionList.js | 82.49 kB | 0% static/js/ca.js | 191.98 kB | 0% static/js/da.js | 104.66 kB | 0% static/js/de.js | 174.38 kB | 0% static/js/en-GB.js | 8.2 kB | 0% static/js/en.js | 175.72 kB | 0% static/js/es.js | 181.8 kB | 0% static/js/fr.js | 177.08 kB | 0% static/js/indexeddb-main-thread-worker-e59fee74.js | 13.46 kB | 0% static/js/it.js | 165.87 kB | 0% static/js/nb-NO.js | 151.85 kB | 0% static/js/nl.js | 108.93 kB | 0% static/js/pl.js | 88.34 kB | 0% static/js/pt-BR.js | 177.44 kB | 0% static/js/resize-observer.js | 18.06 kB | 0% static/js/th.js | 179.3 kB | 0% static/js/theme.js | 485.18 kB | 0% static/js/uk.js | 212.6 kB | 0% static/js/useTransactionBatchActions.js | 4.33 MB | 0% static/js/wide.js | 295 B | 0% static/js/workbox-window.prod.es5.js | 7.33 kB | 0% static/js/zh-Hans.js | 99.27 kB | 0% </div> </details> --- #### loot-core **Total** Files count | Total bundle size | % Changed ----------- | ----------------- | --------- 1 | 4.84 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.2cr-I6dh.js | 4.84 MB | 0% </div> </details> --- #### api **Total** Files count | Total bundle size | % Changed ----------- | ----------------- | --------- 1 | 3.84 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% </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-10 22:16:59 -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#14228