[PR #6157] MVP for Payee Locations #6358

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

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

State: open
Merged: No


MVP for payee locations

  • Feature entirely behind feature flag and location services prompt
  • Manual nearby payee selection
  • Manual save of payee location
  • Nearby payees in payee autocomplete
    • Forget location button available
  • Support for YNAB5 import of payee locations

Feature Flag:
image

Static image of nearby payee button:
image

Static image of save payee location button:
image

Static image of payee autocomplete w/nearby payees
image

Quick demo on a testing/local budget:
https://github.com/user-attachments/assets/1d899d29-fab0-4561-a3fa-234167cb352e


Bundle Stats

Bundle Files count Total bundle size % Changed
desktop-client 27 14.85 MB → 14.87 MB (+22.82 kB) +0.15%
loot-core 1 5.82 MB → 5.83 MB (+7.28 kB) +0.12%
api 1 4.43 MB → 4.44 MB (+6.61 kB) +0.15%
View detailed bundle stats

desktop-client

Total

Files count Total bundle size % Changed
27 14.85 MB → 14.87 MB (+22.82 kB) +0.15%
Changeset
File Δ Size
src/hooks/useLocationPermission.ts 🆕 +2.12 kB 0 B → 2.12 kB
src/payees/location-service.ts 🆕 +1.78 kB 0 B → 1.78 kB
src/payees/location-adapters.ts 🆕 +1.33 kB 0 B → 1.33 kB
home/runner/work/actual/actual/packages/component-library/src/icons/v1/Location.tsx 🆕 +844 B 0 B → 844 B
home/runner/work/actual/actual/packages/loot-core/src/shared/location-utils.ts 🆕 +763 B 0 B → 763 B
src/hooks/useNearbyPayees.ts 🆕 +482 B 0 B → 482 B
src/payees/location.ts 🆕 +106 B 0 B → 106 B
home/runner/work/actual/actual/packages/loot-core/src/shared/constants.ts 🆕 +40 B 0 B → 40 B
src/payees/mutations.ts 📈 +2.21 kB (+160.30%) 1.38 kB → 3.59 kB
src/components/autocomplete/PayeeAutocomplete.tsx 📈 +8.17 kB (+47.99%) 17.02 kB → 25.19 kB
src/payees/queries.ts 📈 +428 B (+21.95%) 1.9 kB → 2.32 kB
src/components/mobile/transactions/TransactionEdit.tsx 📈 +4.19 kB (+6.78%) 61.8 kB → 65.99 kB
src/hooks/useFeatureFlag.ts 📈 +25 B (+5.79%) 432 B → 457 B
src/components/mobile/MobileForms.tsx 📈 +160 B (+3.05%) 5.13 kB → 5.28 kB
src/components/settings/Experimental.tsx 📈 +245 B (+2.25%) 10.62 kB → 10.86 kB
View detailed bundle breakdown

Added
No assets were added

Removed
No assets were removed

Bigger

Asset File Size % Changed
static/js/index.js 9.54 MB → 9.56 MB (+22.82 kB) +0.23%

Smaller
No assets were smaller

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/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.83 MB (+7.28 kB) +0.12%
Changeset
File Δ Size
home/runner/work/actual/actual/packages/loot-core/src/shared/constants.ts 🆕 +44 B 0 B → 44 B
home/runner/work/actual/actual/packages/loot-core/src/server/payees/app.ts 📈 +4.69 kB (+198.18%) 2.37 kB → 7.06 kB
home/runner/work/actual/actual/packages/loot-core/src/server/importers/ynab5.ts 📈 +1.47 kB (+5.11%) 28.75 kB → 30.21 kB
home/runner/work/actual/actual/packages/loot-core/src/server/api.ts 📈 +802 B (+3.02%) 25.96 kB → 26.74 kB
home/runner/work/actual/actual/packages/loot-core/src/server/aql/schema/index.ts 📈 +304 B (+2.57%) 11.57 kB → 11.87 kB
View detailed bundle breakdown

Added

Asset File Size % Changed
kcab.worker.Dv16V79w.js 0 B → 5.83 MB (+5.83 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.44 MB (+6.61 kB) +0.15%
Changeset
File Δ Size
src/shared/constants.ts 🆕 +40 B 0 B → 40 B
src/server/payees/app.ts 📈 +4.31 kB (+209.89%) 2.05 kB → 6.36 kB
src/server/importers/ynab5.ts 📈 +1.31 kB (+5.09%) 25.69 kB → 27 kB
src/server/api.ts 📈 +706 B (+3.03%) 22.72 kB → 23.41 kB
src/server/aql/schema/index.ts 📈 +272 B (+2.55%) 10.41 kB → 10.68 kB
View detailed bundle breakdown

Added
No assets were added

Removed
No assets were removed

Bigger

Asset File Size % Changed
bundle.api.js 4.43 MB → 4.44 MB (+6.61 kB) +0.15%

Smaller
No assets were smaller

Unchanged
No assets were unchanged

**Original Pull Request:** https://github.com/actualbudget/actual/pull/6157 **State:** open **Merged:** No --- MVP for payee locations * Feature entirely behind feature flag and location services prompt * Manual nearby payee selection * Manual save of payee location * Nearby payees in payee autocomplete * Forget location button available * Support for YNAB5 import of payee locations Feature Flag: <img width="472" height="269" alt="image" src="https://github.com/user-attachments/assets/10c81b10-47e2-44eb-b3d8-ee748296143d" /> Static image of nearby payee button: <img width="499" height="348" alt="image" src="https://github.com/user-attachments/assets/e9e30469-b7dc-45a2-86c3-9c6f3bb6fc92" /> Static image of save payee location button: <img width="499" height="315" alt="image" src="https://github.com/user-attachments/assets/66aa9d39-4e54-4099-9822-9e72233edf97" /> Static image of payee autocomplete w/nearby payees <img width="501" height="481" alt="image" src="https://github.com/user-attachments/assets/dd4db0d9-1afb-453e-95b0-daf18c3b2424" /> Quick demo on a testing/local budget: https://github.com/user-attachments/assets/1d899d29-fab0-4561-a3fa-234167cb352e <!--- 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 → 14.87 MB (+22.82 kB) | +0.15% loot-core | 1 | 5.82 MB → 5.83 MB (+7.28 kB) | +0.12% api | 1 | 4.43 MB → 4.44 MB (+6.61 kB) | +0.15% <details> <summary>View detailed bundle stats</summary> #### desktop-client **Total** Files count | Total bundle size | % Changed ----------- | ----------------- | --------- 27 | 14.85 MB → 14.87 MB (+22.82 kB) | +0.15% <details> <summary>Changeset</summary> File | Δ | Size ---- | - | ---- `src/hooks/useLocationPermission.ts` | 🆕 +2.12 kB | 0 B → 2.12 kB `src/payees/location-service.ts` | 🆕 +1.78 kB | 0 B → 1.78 kB `src/payees/location-adapters.ts` | 🆕 +1.33 kB | 0 B → 1.33 kB `home/runner/work/actual/actual/packages/component-library/src/icons/v1/Location.tsx` | 🆕 +844 B | 0 B → 844 B `home/runner/work/actual/actual/packages/loot-core/src/shared/location-utils.ts` | 🆕 +763 B | 0 B → 763 B `src/hooks/useNearbyPayees.ts` | 🆕 +482 B | 0 B → 482 B `src/payees/location.ts` | 🆕 +106 B | 0 B → 106 B `home/runner/work/actual/actual/packages/loot-core/src/shared/constants.ts` | 🆕 +40 B | 0 B → 40 B `src/payees/mutations.ts` | 📈 +2.21 kB (+160.30%) | 1.38 kB → 3.59 kB `src/components/autocomplete/PayeeAutocomplete.tsx` | 📈 +8.17 kB (+47.99%) | 17.02 kB → 25.19 kB `src/payees/queries.ts` | 📈 +428 B (+21.95%) | 1.9 kB → 2.32 kB `src/components/mobile/transactions/TransactionEdit.tsx` | 📈 +4.19 kB (+6.78%) | 61.8 kB → 65.99 kB `src/hooks/useFeatureFlag.ts` | 📈 +25 B (+5.79%) | 432 B → 457 B `src/components/mobile/MobileForms.tsx` | 📈 +160 B (+3.05%) | 5.13 kB → 5.28 kB `src/components/settings/Experimental.tsx` | 📈 +245 B (+2.25%) | 10.62 kB → 10.86 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 | 9.54 MB → 9.56 MB (+22.82 kB) | +0.23% **Smaller** No assets were smaller **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/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.83 MB (+7.28 kB) | +0.12% <details> <summary>Changeset</summary> File | Δ | Size ---- | - | ---- `home/runner/work/actual/actual/packages/loot-core/src/shared/constants.ts` | 🆕 +44 B | 0 B → 44 B `home/runner/work/actual/actual/packages/loot-core/src/server/payees/app.ts` | 📈 +4.69 kB (+198.18%) | 2.37 kB → 7.06 kB `home/runner/work/actual/actual/packages/loot-core/src/server/importers/ynab5.ts` | 📈 +1.47 kB (+5.11%) | 28.75 kB → 30.21 kB `home/runner/work/actual/actual/packages/loot-core/src/server/api.ts` | 📈 +802 B (+3.02%) | 25.96 kB → 26.74 kB `home/runner/work/actual/actual/packages/loot-core/src/server/aql/schema/index.ts` | 📈 +304 B (+2.57%) | 11.57 kB → 11.87 kB </details> <details> <summary>View detailed bundle breakdown</summary> <div> **Added** Asset | File Size | % Changed ----- | --------- | --------- kcab.worker.Dv16V79w.js | 0 B → 5.83 MB (+5.83 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.44 MB (+6.61 kB) | +0.15% <details> <summary>Changeset</summary> File | Δ | Size ---- | - | ---- `src/shared/constants.ts` | 🆕 +40 B | 0 B → 40 B `src/server/payees/app.ts` | 📈 +4.31 kB (+209.89%) | 2.05 kB → 6.36 kB `src/server/importers/ynab5.ts` | 📈 +1.31 kB (+5.09%) | 25.69 kB → 27 kB `src/server/api.ts` | 📈 +706 B (+3.03%) | 22.72 kB → 23.41 kB `src/server/aql/schema/index.ts` | 📈 +272 B (+2.55%) | 10.41 kB → 10.68 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 ----- | --------- | --------- bundle.api.js | 4.43 MB → 4.44 MB (+6.61 kB) | +0.15% **Smaller** No assets were smaller **Unchanged** No assets were unchanged </div> </details> </details> <!--- bundlestats-action-comment key:combined end --->
GiteaMirror added the pull-request label 2026-02-28 21:27:12 -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#6358