Zach Gollwitzer
f7f6ebb091
Use new balance components in activity feed ( #2511 )
...
* Balance reconcilations with new components
* Fix materializer and test assumptions
* Fix investment valuation calculations and recon display
* Lint fixes
* Balance series uses new component fields
2025-07-23 18:15:14 -04:00
Zach Gollwitzer
da2045dbd8
Additional cache columns on balances for activity view breakdowns ( #2505 )
...
* Initial schema iteration
* Add new balance components
* Add existing data migrator to backfill components
* Update calculator test assertions for new balance components
* Update flow assertions for forward calculator
* Update reverse calculator flows assumptions
* Forward calculator tests passing
* Get all calculator tests passing
* Assert flows factor
2025-07-23 10:06:25 -04:00
Zach Gollwitzer
e8eb32d2ae
Start and end balance breakdown in activity view ( #2466 )
...
Publish Docker image / ci (push) Waiting to run
Publish Docker image / Build docker image (push) Blocked by required conditions
* Initial data objects
* Remove trend calculator
* Fill in balance reconciliation for entry group
* Initial tooltip component
* Balance trends in activity view
* Lint fixes
* trade partial alignment fix
* Tweaks to balance calculation to acknowledge holdings value better
* More lint fixes
* Bump brakeman dep
* Test fixes
* Remove unused class
2025-07-18 17:56:25 -04:00
Zach Gollwitzer
3eea5a9891
Add auto-update strategies for current balance on manual accounts ( #2460 )
...
Publish Docker image / ci (push) Waiting to run
Publish Docker image / Build docker image (push) Blocked by required conditions
* Add auto-update strategies for current balance on manual accounts
* Remove deprecated BalanceUpdater, replace with new methods
2025-07-17 06:49:56 -04:00
Zach Gollwitzer
c1d98fe73b
Start and end balance anchors for historical account balances ( #2455 )
...
Publish Docker image / ci (push) Waiting to run
Publish Docker image / Build docker image (push) Blocked by required conditions
* Add kind field to valuation
* Fix schema conflict
* Add kind to valuation
* Scaffold opening balance manager
* Opening balance manager implementation
* Update account import to use opening balance manager + tests
* Update account to use opening balance manager
* Fix test assertions, usage of current balance manager
* Lint fixes
* Add Opening Balance manager, add tests to forward calculator
* Add credit card to "all cash" designation
* Simplify valuation model
* Add current balance manager with tests
* Add current balance logic to reverse calculator and plaid sync
* Tweaks to initial calc logic
* Ledger testing helper, tweak assertions for reverse calculator
* Update test assertions
* Extract balance transformer, simplify calculators
* Algo simplifications
* Final tweaks to calculators
* Cleanup
* Fix error, propagate sync errors up to parent
* Update migration script, valuation naming
2025-07-15 11:42:41 -04:00
Josh Pigford
6f67827f14
Implement error handling and logging for sparkline and series methods
...
- Added rescue blocks to handle exceptions in the Accounts and AccountableSparklines controllers, logging errors and rendering error partials.
- Enhanced error handling in the Account::Chartable and Balance::ChartSeriesBuilder models, logging specific error messages for series generation failures.
- Updated the accounts view to include a timeout for Turbo frame loading.
- Added a test to ensure graceful handling of sparkline errors in the AccountsController.
In reference to bug #2315
2025-05-26 20:05:16 -05:00
Zach Gollwitzer
6e202bd7ec
Improve chart performance and gapfilling ( #2306 )
Publish Docker image / ci (push) Waiting to run
Publish Docker image / Build docker image (push) Blocked by required conditions
2025-05-25 20:40:18 -04:00
Zach Gollwitzer
10f255a9a9
Clarify backend data pipeline naming concepts (importers, processors, materializers, calculators, and syncers) ( #2255 )
...
Publish Docker image / ci (push) Waiting to run
Publish Docker image / Build docker image (push) Blocked by required conditions
* Rename MarketDataSyncer to MarketDataImporter
* Materializers
* Importers
* More reference replacements
2025-05-17 16:37:16 -04:00
Zach Gollwitzer
6dc1d22672
Market data sync refinements ( #2252 )
...
* Exchange rate syncer implementation
* Security price syncer
* Fix issues with provider API
* Add back prod schedule
* Add back price and exchange rate syncs to account syncs
* Remove unused stock_exchanges table
2025-05-16 14:17:56 -04:00
Zach Gollwitzer
10dd9e061a
Improve account sync performance, handle concurrent market data syncing ( #2236 )
...
* PlaidConnectable concern
* Remove bad abstraction
* Put sync implementations in own concerns
* Sync strategies
* Move sync orchestration to Sync class
* Clean up sync class, add state machine
* Basic market data sync cron
* Fix price sync
* Improve sync window column names, add timestamps
* 30 day syncs by default
* Clean up market data methods
* Report high duplicate sync counts to Sentry
* Add sync states throughout app
* account tab session
* Persistent account tab selections
* Remove manual sleep
* Add migration to clear stale syncs on self hosted apps
* Tweak sync states
* Sync completion event broadcasts
* Fix timezones in tests
* Cleanup
* More cleanup
* Plaid item UI broadcasts for sync
* Fix account ID namespace conflict
* Sync broadcasters
* Smoother account sync refreshes
* Remove test sync delay
2025-05-15 10:19:56 -04:00
Zach Gollwitzer
1e5edd9f2f
Fix Plaid cash balance double counting ( #2222 )
...
Publish Docker image / ci (push) Waiting to run
Publish Docker image / Build docker image (push) Blocked by required conditions
* Fix Plaid cash balance double counting
* Fix today's cash balance
* Simplify balance trends in activity view
2025-05-08 12:25:53 -04:00
Zach Gollwitzer
e657c40d19
Account:: namespace simplifications and cleanup ( #2110 )
...
* Flatten Holding model
* Flatten balance model
* Entries domain renames
* Fix valuations reference
* Fix trades stream
* Fix brakeman warnings
* Fix tests
* Replace existing entryable type references in DB
2025-04-14 11:40:34 -04:00