Commit Graph

1764 Commits

Author SHA1 Message Date
soky srm
362ffd72bc Merge pull request #577 from sokie/fix-clean-slate
FIX migration files ordering
2026-01-08 10:30:03 +01:00
sokie
1e940931df FIX migration files ordering 2026-01-08 10:20:56 +01:00
zenaufa
ae3eb0abf1 Added troubleshooting information for CSV import. (#558)
* Document CSV import processing delay issue

Added troubleshooting information for CSV import delays.

Signed-off-by: zenaufa <zenaufa@hotmail.com>

* Small edits suggested by LLM

---------

Signed-off-by: zenaufa <zenaufa@hotmail.com>
Co-authored-by: Juan José Mata <jjmata@jjmata.com>
2026-01-07 21:27:12 +01:00
luo jiyin
828c53f62d Fix variable injection vulnerability in helm-release workflow (#541)
* Fix variable injection vulnerability in helm-release workflow

  - Use explicit env block to pass GitHub context variables safely
  - Remove duplicate hardcoded git config that overwrote earlier settings
  - Prevents potential shell injection via  expansion

Signed-off-by: luojiyin <luojiyin@hotmail.com>

* Fix git config for gh-pages repository checkout

   Apply git user config inside gh-pages directory before commit,
   as the earlier config only applies to the main repository checkout.

Signed-off-by: luojiyin <luojiyin@hotmail.com>

---------

Signed-off-by: luojiyin <luojiyin@hotmail.com>
2026-01-07 21:12:08 +01:00
Copilot
b6d67b5348 Fix disabled rules executing during automatic sync (#552)
* Initial plan

* Fix: Only apply active rules during sync

Co-authored-by: jjmata <187772+jjmata@users.noreply.github.com>

* FIX test

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: jjmata <187772+jjmata@users.noreply.github.com>
Co-authored-by: sokie <sokysrm@gmail.com>
2026-01-07 20:18:17 +01:00
LPW
02e203e8ee Add security measures for SSO-only users: block password resets, enforce SSO authentication, and refactor validations for JIT provisioning. (#569)
Co-authored-by: Josh Waldrep <joshua.waldrep5+github@gmail.com>
2026-01-07 20:17:23 +01:00
soky srm
66671d9e1f Merge pull request #511 from we-promise/codex/conditionally-load-plaid-javascript-library
Scope Plaid Link script to Plaid flows
2026-01-07 17:15:05 +01:00
soky srm
ccd84742e9 Merge pull request #549 from hendriksen-mark/export_style
Update button styles in family export form
2026-01-07 17:10:43 +01:00
soky srm
4dfd2913c7 Investment prices fixes (#559)
* Fix investments retrieval

     Problem Summary

     Stock prices for securities like European stocks become stale because:
     1. sync_all_accounts runs at 2:22 UTC (before European markets open)
     2. Provider doesn't have today's price yet, so importer gap-fills with LOCF (yesterday's price)
     3. Later import_market_data at 22:00 UTC sees all prices exist and skips fetching
     4. Real closing price is never retrieved

     Solution Overview

     Add a provisional boolean column to mark gap-filled prices that should be re-fetched.

* Update schema.rb

---------

Signed-off-by: Juan José Mata <juanjo.mata@gmail.com>
Co-authored-by: Juan José Mata <juanjo.mata@gmail.com>
2026-01-07 16:16:01 +01:00
LPW
3f97f316e0 Fix missing SimpleFIN investment account transactions (#562)
* Add tests and update logic for processing SimpleFIN investment transactions

- Added `SimplefinAccount::Transactions::ProcessorInvestmentTest` to validate dividend transaction processing, transaction linking, and stale linkage repairs.
- Enhanced `SimplefinItem#process_accounts` with stale linkage repair logic and detailed logging for unlinked accounts with transactions.
- Updated `SimplefinAccount::Transactions::Processor` for improved logging and error handling during transaction processing.
- Adjusted `SimplefinItem::Importer` to log detailed account and transaction information and use extended sync windows for investment accounts.

* Refactor `SimplefinItem#process_accounts` to use direct queries for fresh data and streamline stale linkage repair logic; update tests for improved coverage and clarity.

* Improve stale linkage repair logic in `SimplefinItem#repair_stale_linkages`

- Updated to handle multiple linked accounts matching the same unlinked account by selecting the first match.
- Added detailed logging to warn about multiple matches for easier debugging.

* Include `:linked_account` in `SimplefinItem#process_accounts` queries for more comprehensive account data processing.

* Expand `merge_transactions` logic with composite key fallback for deduplication; document edge cases.

---------

Co-authored-by: Josh Waldrep <joshua.waldrep5+github@gmail.com>
2026-01-07 16:15:28 +01:00
Ethan
3b4ab735b0 Add (beta) CoinStats Crypto Wallet Integration with Balance and Transaction Syncing (#512)
* Feat(CoinStats): Scaffold implementation, not yet functional

* Feat(CoinStats): Implement crypto wallet balance and transactions

* Feat(CoinStats): Add tests, Minor improvements

* Feat(CoinStats): Utilize bulk fetch API endpoints

* Feat(CoinStats): Migrate strings to i8n

* Feat(CoinStats): Fix error handling in wallet link modal

* Feat(CoinStats): Implement hourly provider sync job

* Feat(CoinStats): Generate docstrings

* Fix(CoinStats): Validate API Key on provider update

* Fix(Providers): Safely handle race condition in merchance creation

* Fix(CoinStats): Don't catch system signals in account processor

* Fix(CoinStats): Preload before iterating accounts

* Fix(CoinStats): Add no opener / referrer to API dashboard link

* Fix(CoinStats): Use strict matching for symbols

* Fix(CoinStats): Remove dead code in transactions importer

* Fix(CoinStats): Avoid transaction fallback ID collisions

* Fix(CoinStats): Improve Blockchains fetch error handling

* Fix(CoinStats): Enforce NOT NULL constraint for API Key schema

* Fix(CoinStats): Migrate sync status strings to i8n

* Fix(CoinStats): Use class name rather than hardcoded string

* Fix(CoinStats): Use account currency rather than hardcoded USD

* Fix(CoinStats): Migrate from standalone to Provider class

* Fix(CoinStats): Fix test failures due to string changes
2026-01-07 15:59:04 +01:00
LPW
42b94947bf Fix: SimpleFIN account re-link duplication (#554)
* Add orphan pruning tests for Simplefin importer and implement pruning logic

- Introduced `SimplefinItem::ImporterOrphanPruneTest` to verify orphaned `SimplefinAccount` pruning scenarios.
- Added logic in `SimplefinItem::Importer` to remove orphaned `SimplefinAccounts` when upstream account IDs change.
- Ensured linked accounts via legacy FK or `AccountProvider` are preserved during pruning.
- Updated sync stats to track pruned accounts.

* Optimize SimplefinAccount query in importer to prevent N+1 issues

- Added eager-loading of `account` and `account_provider` associations when retrieving orphaned `SimplefinAccounts`.

---------

Co-authored-by: Josh Waldrep <joshua.waldrep5+github@gmail.com>
2026-01-07 13:58:47 +01:00
Dylan Corrales
3b1495422a DS::Menu: Prevent scrolling page content (#520) 2026-01-05 22:17:45 +01:00
LPW
c12c585a0e Harden SimpleFin sync: retries, safer imports, manual relinking, and data-quality reconciliation (#544)
* Add tests and enhance logic for SimpleFin account synchronization and reconciliation

- Added retry logic with exponential backoff for network errors in `Provider::Simplefin`.
- Introduced tests to verify retry functionality and error handling for rate-limit, server errors, and stale data.
- Updated `SimplefinItem` to detect stale sync status and reconciliation issues.
- Enhanced UI to display stale sync warnings and data integrity notices.
- Improved SimpleFin account matching during updates with multi-tier strategy (ID, fingerprint, fuzzy match).
- Added transaction reconciliation logic to detect data gaps, transaction count drops, and duplicate transaction IDs.

* Introduce `SimplefinConnectionUpdateJob` for asynchronous SimpleFin connection updates

- Moved SimpleFin connection update logic to `SimplefinConnectionUpdateJob` to improve response times by offloading network retries, data fetching, and reconciliation tasks.
- Enhanced SimpleFin account matching with a multi-tier strategy (ID, fingerprint, fuzzy name match).
- Added retry logic and bounded latency for token claim requests in `Provider::Simplefin`.
- Updated tests to cover the new job flow and ensure correct account reconciliation during updates.

* Remove unused SimpleFin account matching logic and improve error handling in `SimplefinConnectionUpdateJob`

- Deleted the multi-tier account matching logic from `SimplefinItemsController` as it is no longer used.
- Enhanced error handling in `SimplefinConnectionUpdateJob` to gracefully handle import failures, ensuring orphaned items can be manually resolved.
- Updated job flow to conditionally set item status based on the success of import operations.

* Fix SimpleFin sync: check both legacy FK and AccountProvider for linked accounts

* Add crypto, checking, savings, and cash account detection; refine subtype selection and linking

- Enhanced `Simplefin::AccountTypeMapper` to include detection for crypto, checking, savings, and standalone cash accounts.
- Improved subtype selection UI with validation and warning indicators for missing selections.
- Updated SimpleFin account linking to handle both legacy FK and `AccountProvider` associations consistently.
- Refined job flow and importer logic for better handling of linked accounts and subtype inference.

* Improve `SimplefinConnectionUpdateJob` and holdings processing logic

- Fixed race condition in `SimplefinConnectionUpdateJob` by moving `destroy_later` calls outside of transactions.
- Updated fuzzy name match logic to use Levenshtein distance for better accuracy.
- Enhanced synthetic ticker generation in holdings processor with hash suffix for uniqueness.

* Refine SimpleFin entry processing logic and ensure `extra` data persistence

- Simplified pending flag determination to rely solely on provider-supplied values.
- Fixed potential stale values in `extra` by ensuring deep merge overwrite with `entry.transaction.save!`.

* Replace hardcoded fallback transaction description with localized string

* Refine pending flag logic in SimpleFin processor tests

- Adjust test to prevent falsely inferring pending status from missing posted dates.
- Ensure provider explicitly sets pending flag for transactions.

* Add `has_many :holdings` association to `AccountProvider` with `dependent: :nullify`

---------

Co-authored-by: Josh Waldrep <joshua.waldrep5+github@gmail.com>
2026-01-05 22:11:47 +01:00
Mark Hendriksen
647c199407 copilot suggestion 2026-01-05 02:13:12 +01:00
Mark Hendriksen
b1d90212d3 Update button styles in family export form
Enhanced the appearance of the 'Cancel' and 'Export data' buttons by adding text and background color classes, as well as hover effects, for improved UI consistency.
2026-01-05 02:04:40 +01:00
Juan José Mata
b3330a318d Tag stable images as latest as well
Signed-off-by: Juan José Mata <juanjo.mata@gmail.com>
2025-12-31 19:50:49 +01:00
dependabot[bot]
9313f3ac8c Bump httparty from 0.23.1 to 0.24.0 (#524)
Bumps [httparty](https://github.com/jnunemaker/httparty) from 0.23.1 to 0.24.0.
- [Release notes](https://github.com/jnunemaker/httparty/releases)
- [Changelog](https://github.com/jnunemaker/httparty/blob/main/Changelog.md)
- [Commits](https://github.com/jnunemaker/httparty/compare/v0.23.1...v0.24.0)

---
updated-dependencies:
- dependency-name: httparty
  dependency-version: 0.24.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-31 19:39:27 +01:00
Juan José Mata
4f7a90745e Start the v0.6.7-alpha train 2025-12-31 19:38:23 +01:00
Juan José Mata
7862823da6 New release: v0.6.6 v0.6.6 2025-12-31 15:37:15 +01:00
Copilot
10b15061b8 Fix action value rendering for text-type executors in rule form (#527)
* Initial plan

* Fix transaction name rule rendering and add tests

Co-authored-by: jjmata <187772+jjmata@users.noreply.github.com>

* Remove redundant integration tests for set_transaction_name

The functionality is already covered by existing unit tests in test/models/rule/action_test.rb. The core fix for this PR is the view rendering logic, not the action functionality.

Co-authored-by: jjmata <187772+jjmata@users.noreply.github.com>

* Localize placeholder text for rule action value input

Replace hardcoded "Enter a value" placeholder with localized t() lookup at lines 22 and 41 in app/views/rule/actions/_action.html.erb. Add corresponding translation key to config/locales/views/rules/en.yml under rules.actions.value_placeholder.

Co-authored-by: jjmata <187772+jjmata@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: jjmata <187772+jjmata@users.noreply.github.com>
2025-12-31 10:46:26 +01:00
dependabot[bot]
4946dd7441 Bump uri from 1.0.3 to 1.0.4 (#523)
Bumps [uri](https://github.com/ruby/uri) from 1.0.3 to 1.0.4.
- [Release notes](https://github.com/ruby/uri/releases)
- [Commits](https://github.com/ruby/uri/compare/v1.0.3...v1.0.4)

---
updated-dependencies:
- dependency-name: uri
  dependency-version: 1.0.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-30 23:08:10 +01:00
LPW
f48e020fc2 Make rolling update strategies configurable for web and worker deployments in Helm templates (#522)
Co-authored-by: Josh Waldrep <joshua.waldrep5+github@gmail.com>
2025-12-30 22:10:47 +01:00
Dylan Corrales
4e87eead2c Transfer Matching: Larger match date window for manual matching (#514) 2025-12-30 19:06:40 +01:00
Juan José Mata
7915fee62c Add print stylesheet for reports page (#499)
* Add print stylesheet for reports page

* Polish reports print layout

* Make sure all pages are printed

* Use design system tokens
2025-12-30 18:59:45 +01:00
Juan José Mata
cf15ef4d26 Bump version to 0.6.6-alpha in Chart.yaml
Monorepo Helm chart versioning, here we come!

Signed-off-by: Juan José Mata <juanjo.mata@gmail.com>
2025-12-30 18:54:43 +01:00
LPW
7b91de5083 Ensure redisSimple service port is cast to integer in helpers template (#517)
Co-authored-by: Josh Waldrep <joshua.waldrep5+github@gmail.com>
2025-12-30 18:46:13 +01:00
LPW
614c8d455f Helm chart: render CNPG spec.backup + method inference for volume snapshots (and support spec.plugins) (#504)
* Add backup rendering logic and tests for CNPG Cluster CR

- Implemented logic in `cnpg-cluster.yaml` to render `.spec.backup` based on `cnpg.cluster.backup` values.
- Introduced validation for required fields and unsupported keys (e.g., `ttl`, `volumeSnapshot.enabled`) to avoid CRD warnings.
- Added Helm unit tests to validate backup rendering for various scenarios: missing/invalid fields, inferred `method`, and unsupported keys.
- Updated `README.md` and `values.yaml` with examples and documentation for backup configuration options.

* Add plugin rendering logic and tests for CNPG Cluster CR

- Implemented logic in `cnpg-cluster.yaml` to render `.spec.plugins` based on `cnpg.cluster.plugins` values.
- Added Helm unit tests to validate plugin rendering scenarios: unset plugins and configured plugin values.
- Updated `values.yaml` with examples and documentation for configuring CNPG plugins.

* Update chart to v1.0.1 with CNPG backup and plugin enhancements

- Add rendering logic for `Cluster.spec.backup`, inferring `method: volumeSnapshot` when applicable and validating required fields.
- Add support for `Cluster.spec.plugins`, enabling barman-cloud plugin and WAL archiver configuration.
- Strip unsupported keys (e.g., `backup.ttl`, `volumeSnapshot.enabled`) to prevent CRD warnings.
- Update examples and documentation in `README.md` and `values.yaml`.

* Keep Helm chart on same major version as app?

* Versioning with monorepo

* MD is tricky

---------

Co-authored-by: Josh Waldrep <joshua.waldrep5+github@gmail.com>
Co-authored-by: Juan José Mata <jjmata@jjmata.com>
2025-12-30 18:36:13 +01:00
Juan José Mata
1028dc3c1e Scope Plaid Link script to Plaid flows 2025-12-29 01:39:58 +01:00
Juan José Mata
528597c217 Revert "Fix GPU artifacts bug (#498)" (#510)
This reverts commit 7c524f2d74.
2025-12-29 01:36:11 +01:00
Blaž Dular
836bf665ac feat: add compose example with local LLM (#489)
* feat: add ai compose example

* Rename for consistency

* Small edits

* Update brakeman gem to 7.1.2

* Update volume and port configuration for ollama-webui

Signed-off-by: Blaž Dular <22869613+xBlaz3kx@users.noreply.github.com>

---------

Signed-off-by: Blaž Dular <22869613+xBlaz3kx@users.noreply.github.com>
Co-authored-by: Juan José Mata <juanjo.mata@gmail.com>
Co-authored-by: Juan José Mata <jjmata@jjmata.com>
2025-12-28 12:23:45 +01:00
Juan José Mata
ce97603580 Update brakeman gem to 7.1.2 2025-12-26 22:48:01 +00:00
Juan José Mata
33fdd589e4 Maybe one more 0.6.6-alpha.8 before v0.6.6 final!
Signed-off-by: Juan José Mata <juanjo.mata@gmail.com>
2025-12-24 13:00:24 +01:00
xenos
7c524f2d74 Fix GPU artifacts bug (#498)
* Update application.css

Signed-off-by: xenos <66328734+xenos1337@users.noreply.github.com>

* fix

---------

Signed-off-by: xenos <66328734+xenos1337@users.noreply.github.com>
2025-12-24 10:30:57 +01:00
Alessio Cappa
b3af8bf1ae Transactions & Activities pages improvements (#452)
* feat: Add toggle on mobile to show/hide checkboxes in transaction page

* fix: Add multi-select toggle also in activities page. Make JS controller compatible also in this view.

* feat: Add category in mobile view

* feat: Add mobile layout for transaction categories

* feat: Add margin for pagination on mobile

* fix: Ensure category exists when displaying the name

* fix: Adjust mobile paddings

* fix: Display "uncategorized" label if no category is set

* fix: Expand transaction name/subtitle

* feat: Add merchant name on desktop view

* feat: Move merchant name before account name

* fix: Add class to hide merchant on mobile

* feat: Add merchant logo on mobile

* fix: add pointer-events-none to merchant image on mobile view

* feat: toggle header checkbox in transaction page when button is clicked

* Remove unnecessary CSS class

* Remove duplicate CSS class

* Remove wrong Enable Banking logo URL

* Update app/views/transactions/_transaction.html.erb

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Signed-off-by: Alessio Cappa <104093777+alessiocappa@users.noreply.github.com>

* Revert "Update app/views/transactions/_transaction.html.erb"

This reverts commit 9766c50a1d.

* Add translation for Loan Payment/Transfer

* Apply review comments

* Add accessible name for toggle based on review comments

* Use border instead of border-1 class

* Apply review comments

* Missing l10n key

---------

Signed-off-by: Alessio Cappa <104093777+alessiocappa@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Juan José Mata <juanjo.mata@gmail.com>
2025-12-24 01:57:16 +01:00
Alessio Cappa
f76f541c05 Settings page UI improvements (#495)
* fix: UI fixes for "Settings" page on mobile

* Critical to the Rabbit!

---------

Co-authored-by: Juan José Mata <juanjo.mata@gmail.com>
2025-12-24 01:20:35 +01:00
Matthew Kilpatrick
68864b1fdb Add instituion details & notes to Account model (#481)
- Add institution name & domain, to allow fetching logos when no provider is configured
- Add free-form textarea for storing misc. notes (eg. sort codes, account numbers)
- Update account settings form to support these new fields
2025-12-24 00:59:50 +01:00
Carlos Adames
104324a82b Pre-fill rule suggestion with transaction name and category (#497)
Co-authored-by: Carlos Adames <cj@Carloss-MacBook-Air.local>
2025-12-24 00:55:23 +01:00
LPW
b23711ae0d Add configurable multi-provider SSO, SSO-only mode, and JIT controls via auth.yml (#441)
* Add configuration and logic for dynamic SSO provider support and stricter JIT account creation

- Introduced `config/auth.yml` for centralized auth configuration and documentation.
- Added support for multiple SSO providers, including Google, GitHub, and OpenID Connect.
- Implemented stricter JIT SSO account creation modes (`create_and_link` vs `link_only`).
- Enabled optional restriction of JIT creation by allowed email domains.
- Enhanced OmniAuth initializer for dynamic provider setup and better configurability.
- Refined login UI to handle local login disabling and emergency super-admin override.
- Updated account creation flow to respect JIT mode and domain checks.
- Added tests for SSO account creation, login form visibility, and emergency overrides.

# Conflicts:
#	app/controllers/sessions_controller.rb

* remove non-translation

* Refactor authentication views to use translation keys and update locale files

- Extracted hardcoded strings in `oidc_accounts/link.html.erb` and `sessions/new.html.erb` into translation keys for better localization support.
- Added missing translations for English and Spanish in `sessions` and `oidc_accounts` locale files.

* Enhance OmniAuth provider configuration and refine local login override logic

- Updated OmniAuth initializer to support dynamic provider configuration with `name` and scoped parameters for Google and GitHub.
- Improved local login logic to enforce stricter handling of super-admin override when local login is disabled.
- Added test for invalid super-admin override credentials.

* Document Google sign-in configuration for local development and self-hosted environments

---------

Co-authored-by: Josh Waldrep <joshua.waldrep5+github@gmail.com>
2025-12-24 00:15:53 +01:00
Blaž Dular
8972cb59f0 docs: add env variable for ai debug to docs (#494) 2025-12-23 19:57:32 +01:00
Juan José Mata
60809dbf61 Helm chart is WIP
Signed-off-by: Juan José Mata <juanjo.mata@gmail.com>
2025-12-23 15:47:04 +01:00
jiang123574
3b8888c8de Add Chinese localization (#471)
* add zh-CN.yml for chinese

* The files appear to use CRLF line endings instead of LF (Unix-style).

* Add the missing entries to the zh-CN.yml file and include the Simplified Chinese option.

* Fix grammatical errors

Signed-off-by: jiang123574 <jiang123574@163.com>

* Update languages_helper.rb

Signed-off-by: jiang123574 <jiang123574@163.com>

* Update 'SimpleFin' to 'SimpleFIN' in translations

Signed-off-by: jiang123574 <jiang123574@163.com>

* update zh-CN.yml

* update zh-CN.yml

* add new zh-CN.yml

* CodeRabbit comments

* Enable Banking i18n

---------

Signed-off-by: jiang123574 <jiang123574@163.com>
Co-authored-by: Juan José Mata <juanjo.mata@gmail.com>
2025-12-23 11:21:53 +01:00
Juan José Mata
5b5d25457f Prepare for v0.6.6-alpha.7
Signed-off-by: Juan José Mata <juanjo.mata@gmail.com>
2025-12-23 11:20:45 +01:00
Nelluk
8c528c1b24 Handle missing category import headers and accept name* (#487)
* Handle missing headers in category import

* Hoist category import header lookups
2025-12-22 20:41:37 +01:00
Juan José Mata
204315b70b No Rswag in prod 2025-12-22 11:30:38 +00:00
Juan José Mata
dcf2b6a891 Default to yahoo_finance and add Brandfetch 2025-12-21 10:52:49 +00:00
Juan José Mata
7af16340eb Add environment to Langfuse trace 2025-12-20 20:24:32 +00:00
LPW
e9dbf5f4e7 Fix Broken Account Re-linking Feature (#469)
* Update SimpleFIN relinking flow and enhance duplicate account handling

- Updated logic to allow relinking of SimpleFIN accounts while preserving legacy mappings.
- Introduced clean-up logic to hide orphaned duplicate accounts after relinking.
- Enhanced UI to display current mappings for linked accounts.
- Improved test coverage for relinking scenarios and SimpleFIN account visibility.

* Localize SimpleFIN account selection messages and remove hardcoded text

- Added translations for user-facing messages in `select_existing_account` flow (`pt-BR` and `en` locales).
- Replaced hardcoded strings in the view with localized keys.

* Localize Enable Banking and SimpleFIN account linking messages; add support for investment accounts.

- Added translations for Enable Banking and SimpleFIN account linking flows.
- Updated views and controllers to replace hardcoded strings with localized keys.
- Introduced support for investment accounts in `Provider::LunchflowAdapter`.
- Enhanced relinking logic for SimpleFIN accounts and improved test coverage for related scenarios.

---------

Co-authored-by: Josh Waldrep <joshua.waldrep5+github@gmail.com>
2025-12-20 21:18:55 +01:00
Juan José Mata
5c293b532a Translate navigation labels (main nav + settings) (#472)
* Translate main navigation labels

Move main nav item names to layout locale keys.

* Use the interpolation that corresponds with the view name
2025-12-20 19:13:40 +01:00
Copilot
6a03451ead Fix missing product_name interpolation in all import confirmations (#475)
* Initial plan

* Fix CSV import German locale by passing product_name to translations

Co-authored-by: jjmata <187772+jjmata@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: jjmata <187772+jjmata@users.noreply.github.com>
2025-12-20 18:14:36 +01:00