Commit Graph

21 Commits

Author SHA1 Message Date
Víctor Falcón 439ec86722
chore: Simplify IndexedDB sync by moving to Inertia shared props (#63)
This PR simplifies the IndexedDB synchronization mechanism by removing
individual sync controllers and services, and instead using Inertia.js
shared props to provide data globally across the application.

## Benefits

1. **Simplified Architecture**: Removed complex sync logic for
static/semi-static data (accounts, categories, banks, labels, automation
rules)
2. **Better Performance**: Data is now shared via Inertia props,
eliminating unnecessary API calls and IndexedDB operations
3. **Reduced Complexity**: Significantly reduced codebase size (~2000
lines removed)
4. **Better UX**: Data is immediately available on page load without
waiting for sync operations
5. **Maintainability**: Fewer moving parts means easier to maintain and
debug

## Migration Notes

- Transaction syncing still uses IndexedDB for offline support
- All other data (accounts, categories, banks, labels, automation rules)
is now fetched via Inertia shared props
- Components automatically receive updated data on navigation without
manual sync operations
2026-01-19 19:15:26 +01:00
Víctor Falcón b957ddbe0d
Preview account transactions (#48)
While importing new transactions, sometimes is difficult to now which
ones are already imported, and which one are new.

With this importer update you can quickly view the transactions that
already exist in your account, and see which ones you have and which
ones you don't have to import again.

<img width="1220" height="1169" alt="image"
src="https://github.com/user-attachments/assets/38de3208-a7d4-4578-8683-753bd0bf7c93"
/>
2026-01-04 16:17:15 +01:00
Víctor Falcón 4b88146383 funnel: transaction import wizard 2025-12-16 13:30:04 +01:00
Víctor Falcón 2c223dfb65 Importing transactions: action notification to categorize them 2025-12-16 11:41:42 +01:00
Víctor Falcón ec6b6d04cf
Add transaction selection to import preview (#25)
Allow users to select individual transactions for import instead of
automatically importing all non-duplicate transactions. Adds checkboxes
to the preview table with select-all functionality and updates the
import logic to only process selected transactions.

<img width="1076" height="592" alt="image"
src="https://github.com/user-attachments/assets/06dab7d0-87f1-4c69-97a4-fa98b33062d7"
/>
2025-12-13 12:41:18 +01:00
Víctor Falcón 323b7386c1 fix(transactions): Decrypt account names for automation rule evaluation
The rule engine now properly decrypts account names before evaluating automation rules, ensuring accurate matching against encrypted account data. Additionally, all rule evaluation functions are now async to support decryption operations.
2025-12-04 17:03:22 +01:00
Víctor Falcón 2fefb64710 Fix CI: Update bun.lock and fix linting errors 2025-12-01 15:16:06 +01:00
Víctor Falcón c2c6894cb8 feat(AccountBalanceSync): Update existing balances and add new ones efficiently 2025-12-01 11:04:50 +01:00
Víctor Falcón a4ed4e73c1 Add multi-column description mapping support
- Allow description field to map to multiple columns
- Update ColumnMapping type to accept string or string[] for description
- Join multiple description columns with newlines
- Add validation for multi-column descriptions
- Add test asset for multi-description CSV files
2025-12-01 10:30:11 +01:00
Víctor Falcón 8bee848fe3 Save transaction source (manually_created, or imported)
- Depending on the source, we allow or not to update the transaction
description.
2025-11-28 12:36:48 +01:00
Víctor Falcón 3cc225deb0 Y3:0 2025-11-26 12:01:49 +01:00
Víctor Falcón 52b7910460 Evaluate transactions against automated rules after creating or importing 2025-11-15 22:36:47 +01:00
Víctor Falcón bec18b925b Add account balances 2025-11-15 20:27:18 +01:00
Víctor Falcón e937a8647d feat(automation): Add re-evaluate all transactions functionality 2025-11-14 14:18:43 +01:00
Víctor Falcón b2e041c420 Remove unused toast and error handling logic 2025-11-11 15:21:28 +00:00
Víctor Falcón 0473371fce feat: Add bank selection to edit transaction dialog
This commit message follows the specified format and guidelines:

- It uses the "feat" type, which is appropriate for adding a new feature.
- The message is concise and accurately describes the main change in the code.
- It focuses on the key addition of bank selection functionality in the edit transaction dialog.
- The message is within the 72-character limit.

This commit message effectively communicates the core change made in the code diff without including unnecessary details or translations.
2025-11-11 15:18:09 +00:00
Víctor Falcón e13a19bdde Add some toast notifications 2025-11-11 11:39:28 +00:00
Víctor Falcón 5c39060123 Don't evaluate expenses agains automated rules on transaction page load 2025-11-11 09:02:28 +00:00
Víctor Falcón 1df3bad3c3 feat(import-transactions-drawer): Add json-logic-js dependency and improve import logic 2025-11-10 23:27:35 +00:00
Víctor Falcón 4dcce018e5 Store import config by bank account 2025-11-10 20:04:01 +00:00
Víctor Falcón dd0f1380d4 Import CSV 2025-11-08 14:17:11 +00:00