Zach Gollwitzer
5eb5ec7aef
fix: Plaid webhook verification ( #1824 )
...
* Fix Plaid webhook verification
* Fix client creation in webhook controller
2025-02-07 10:35:42 -05:00
Zach Gollwitzer
331de2f997
Capture webhook errors in Sentry
2025-02-07 09:54:15 -05:00
Josh Pigford
842e37658c
Multi-factor authentication ( #1817 )
...
* Initial pass
* Tests for MFA and locale cleanup
* Brakeman
* Update two-factor authentication status styling
* Update app/models/user.rb
Co-authored-by: Zach Gollwitzer <zach@maybe.co>
Signed-off-by: Josh Pigford <josh@joshpigford.com>
* Refactor MFA verification and session handling in tests
---------
Signed-off-by: Josh Pigford <josh@joshpigford.com>
Co-authored-by: Zach Gollwitzer <zach@maybe.co>
2025-02-06 14:16:53 -06:00
Josh Pigford
4aba9d1c0b
Add scope to filter transactions from active accounts ( #1810 )
...
* Add scope to filter transactions from active accounts
* Add test for transfer match candidates with active accounts
* Refactor active account filtering for transactions and entries
2025-02-05 11:52:44 -06:00
Zach Gollwitzer
5b083c9e33
Fix budget allocation forms from resetting and clearing data on slow networks ( #1804 )
...
* First pass
* Fix null constraint bug for budget category assignment
* Fix autofocus reset when allocating budget
* Lint fix
2025-02-05 09:09:38 -05:00
Josh Pigford
1620d56e2d
Allow connecting a few accounts before upgrade prompt
2025-02-03 09:04:39 -06:00
Zach Gollwitzer
2c2b600163
Improve speed of transactions page ( #1752 )
...
Publish Docker image / ci (push) Has been cancelled
Publish Docker image / Build docker image (push) Has been cancelled
* Make demo data more realistic
* Fix N+1 transactions query
* Lint fixes
* Totals query
* Consolidate stats calcs
* Fix preload
* Fix filter clearing
* Fix N+1 queries for family sync detection
* Reduce queries for rendering transfers
* Fix tests
* Remove flaky test
2025-01-31 19:08:21 -05:00
Zach Gollwitzer
53f4b32c33
Fix EU plaid flow ( #1761 )
...
* Fix EU plaid flow
* Fix failing tests
2025-01-31 17:04:26 -05:00
Josh Pigford
4bf72506d5
Initial pass at Plaid EU ( #1555 )
...
* Initial pass at Plaid EU
* Add EU support to Plaid Items
* Lint
* Temp fix for rubocop isseus
* Merge cleanup
* Pass in region and get tests passing
* Use absolute path for translation
---------
Signed-off-by: Josh Pigford <josh@joshpigford.com>
2025-01-31 12:13:58 -06:00
Josh Pigford
41873de11d
Allow users to update their email address ( #1745 )
...
Publish Docker image / ci (push) Waiting to run
Publish Docker image / Build docker image (push) Blocked by required conditions
* Change email address
* Email confirmation
* Email change test
* Lint
* Schema reset
* Set test email sender
* Select specific user fixture
* Refactor/cleanup
* Remove unused email_confirmation_token
* Current user would never be true
* Fix translation test failures
2025-01-31 11:29:49 -06:00
Josh Pigford
0696e1f2f7
Add/remove members and invitations ( #1744 )
...
* Add/remove members and invitations
* Lint
2025-01-30 13:13:37 -06:00
Zach Gollwitzer
282c05345d
Preserve transaction filters and transaction focus across page visits ( #1733 )
...
* Preserve transaction filters across page visits
* Preserve params when per_page is updated
* Autofocus selected transactions
* Lint fixes
* Fix syntax error
* Fix filter clearing
* Update e2e tests for new UI
* Consolidate focus behavior into concern
* Lint fixes
2025-01-30 14:12:01 -05:00
Elvis Serrão
0b17976256
Don't allow a subcategory to be assigned to another subcategory to ensure 1 level of nesting max ( #1730 )
...
* Improve category level limit validation
* Set categories list only for non parents
* Disable select field
* Add info about the disabled select
* Don’t render a select input for parent categories
* Handle correctly turbo_stream request format
* Add turbo_stream format to requests on create and update action's tests
* Remove no_content status from update action
* Revert "Remove no_content status from update action"
This reverts commit 866140c196
.
* Revert "Add turbo_stream format to requests on create and update action's tests"
This reverts commit c6bf21490f
.
* Add correct redirect url for both html and turbo_stream formats
* Remove useless turbo_frame_tag
2025-01-30 12:35:30 -05:00
Zach Gollwitzer
de90b29201
Add RejectedTransfer model, simplify auto matching ( #1690 )
...
Publish Docker image / ci (push) Waiting to run
Publish Docker image / Build docker image (push) Blocked by required conditions
* Allow transfers to match when inflow is after outflow
* Simplify transfer auto matching with RejectedTransfer model
* Validations
* Reset migrations
2025-01-27 16:56:46 -05:00
Tony Vincent
61321f6b16
fix: Only admins can generate invite codes ( #1611 )
...
* fix: Only admins can generate invite codes
* fix: raise error if user is not an admin when creating invite codesss
2025-01-23 20:47:51 -05:00
Josh Pigford
44961f3628
Only pass in a country code on securities searches if the user location is set to "US"
2025-01-23 10:02:48 -06:00
Zach Gollwitzer
abccba3947
Fix account deletion cascade bug ( #1644 )
...
* Fix account deletion cascade bug
* Rubocop fixes
2025-01-20 11:37:01 -05:00
Zach Gollwitzer
195ec85d96
Budgeting V1 ( #1609 )
...
* Budgeting V1
* Basic UI template
* Fully scaffolded budgeting v1
* Basic working budget
* Finalize donut chart for budgets
* Allow categorization of loan payments for budget
* Include loan payments in incomes_and_expenses scope
* Add budget allocations progress
* Empty states
* Clean up budget methods
* Category aggregation queries
* Handle overage scenarios in form
* Finalize budget donut chart controller
* Passing tests
* Fix allocation naming
* Add income category migration
* Native support for uncategorized budget category
* Formatting
* Fix subcategory sort order, padding
* Fix calculation for category rollups in budget
2025-01-16 14:36:37 -05:00
Zach Gollwitzer
307a3687e8
Transfer and Payment auto-matching, model and UI improvements ( #1585 )
...
* Transfer data model migration
* Transfers and payment modeling and UI improvements
* Fix CI
* Transfer matching flow
* Better UI for transfers
* Auto transfer matching, approve, reject flow
* Mark transfers created from form as confirmed
* Account filtering
* Excluded rejected transfers from calculations
* Calculation tweaks with transfer exclusions
* Clean up migration
2025-01-07 09:41:24 -05:00
Tony Vincent
b0d9891133
fix: Bug creating duplicate category leads to crash screen ( #1577 )
...
Co-authored-by: Tony Vincent Yesudas <tony.yesudas@raisenow.com>
2024-12-30 10:04:38 -05:00
Zach Gollwitzer
77def1db40
Nested Categories ( #1561 )
...
Publish Docker image / ci (push) Has been cancelled
Publish Docker image / Build docker image (push) Has been cancelled
* Prepare entry search for nested categories
* Subcategory implementation
* Remove caching for test stability
2024-12-20 11:37:26 -05:00
Zach Gollwitzer
7be6a372bf
Preserve original transaction names when enriching ( #1556 )
...
Publish Docker image / ci (push) Waiting to run
Publish Docker image / Build docker image (push) Blocked by required conditions
* Preserve original transaction name
* Remove stale method
* Fix tests
2024-12-19 10:16:09 -05:00
Zach Gollwitzer
68617514b0
Make transaction enrichment opt-in for all users ( #1552 )
Publish Docker image / ci (push) Has been cancelled
Publish Docker image / Build docker image (push) Has been cancelled
2024-12-17 09:58:08 -05:00
Zach Gollwitzer
fe199f2357
Add account data enrichment ( #1532 )
...
Publish Docker image / ci (push) Has been cancelled
Publish Docker image / Build docker image (push) Has been cancelled
* Add data enrichment
* Make data enrichment optional for self-hosters
* Add categories to data enrichment
* Only update category and merchant if nil
* Fix name overrides
* Lint fixes
2024-12-13 17:22:27 -05:00
Zach Gollwitzer
800eb4c146
Plaid sync tests and multi-currency investment support ( #1531 )
...
Publish Docker image / ci (push) Waiting to run
Publish Docker image / Build docker image (push) Blocked by required conditions
* Plaid sync tests and multi-currency investment support
* Fix system test
* Cleanup
* Remove data migration
2024-12-12 08:56:52 -05:00
Zach Gollwitzer
49c353e10c
Plaid portfolio sync algorithm and calculation improvements ( #1526 )
...
* Start tests rework
* Cash balance on schema
* Add reverse syncer
* Reverse balance sync with holdings
* Reverse holdings sync
* Reverse holdings sync should work with only trade entries
* Consolidate brokerage cash
* Add forward sync option
* Update new balance info after syncs
* Intraday balance calculator and sync fixes
* Show only balance for trade entries
* Tests passing
* Update Gemfile.lock
* Cleanup, performance improvements
* Remove account reloads for reliable sync outputs
* Simplify valuation view logic
* Special handling for Plaid cash holding
2024-12-10 17:41:20 -05:00
Zach Gollwitzer
c3248cd796
Improve account transaction, trade, and valuation editing and sync experience ( #1506 )
...
Publish Docker image / ci (push) Has been cancelled
Publish Docker image / Build docker image (push) Has been cancelled
* Consolidate entry controller logic
* Transaction builder
* Update trades controller to use new params
* Load account charts in turbo frames, fix PG overflow
* Consolidate tests
* Tests passing
* Remove unused code
* Add client side trade form validations
2024-11-27 16:01:50 -05:00
Arsen Shkrumelyak
c1034e6edf
Update index
method in AccountsController
to fetch all accounts ( #1491 )
...
Publish Docker image / ci (push) Has been cancelled
Publish Docker image / Build docker image (push) Has been cancelled
* Fetch all manual accounts, regardless of their active status
* Fetch all Plaid items, regardless of their active status
2024-11-22 15:28:36 -05:00
Jestin Palamuttam
571fc4db75
Replaced Native Scrollbars with Tailwind Scrollbars on Windows ( #1493 )
...
* feat: scrollbar styling for windows browsers
* fix: lint
2024-11-22 15:27:07 -05:00
Zach Gollwitzer
81d604f3d4
Fix transfers and form currencies ( #1477 )
Publish Docker image / ci (push) Waiting to run
Publish Docker image / Build docker image (push) Blocked by required conditions
2024-11-18 15:50:47 -05:00
Alex
9cc9f42bdc
Allow custom column separator for CSV parsing in uploads controller ( #1470 )
...
* Allow custom column separator for CSV parsing in uploads controller
* Add column separator parameter for CSV uploads in tests
2024-11-18 11:31:17 -05:00
Zach Gollwitzer
0af5faaa9f
Make encryption config optional for self hosting users ( #1476 )
...
* Fix redirect 404 bug
* Make encryption optional for self-hosters
* Fix test
2024-11-18 10:47:05 -05:00
Zach Gollwitzer
cbba2ba675
Basic Plaid Integration ( #1433 )
...
Publish Docker image / ci (push) Waiting to run
Publish Docker image / Build docker image (push) Blocked by required conditions
* Basic plaid data model and linking
* Remove institutions, add plaid items
* Improve schema and Plaid provider
* Add webhook verification sketch
* Webhook verification
* Item accounts and balances sync setup
* Provide test encryption keys
* Fix test
* Only provide encryption keys in prod
* Try defining keys in test env
* Consolidate account sync logic
* Add back plaid account initialization
* Plaid transaction sync
* Sync UI overhaul for Plaid
* Add liability and investment syncing
* Handle investment webhooks and process current day holdings
* Remove logs
* Remove "all" period select for performance
* fix amount calc
* Remove todo comment
* Coming soon for investment historical data
* Document Plaid configuration
* Listen for holding updates
2024-11-15 13:49:37 -05:00
Tony Vincent
278d04a73a
Fix registration fails silently when there are errors ( #1455 )
...
* Fix registration fails silently with long passwords
* Add maxlength
2024-11-11 09:41:17 -05:00
Tony Vincent
3b928775a8
Fix timeframe dropdown next to Portfolio ( #1434 )
2024-11-08 09:10:05 -05:00
Tony Vincent
154a1a971b
Exclude inactive accounts from networth calculation and from sidebar ( #1432 )
Publish Docker image / ci (push) Waiting to run
Publish Docker image / Build docker image (push) Blocked by required conditions
2024-11-07 10:14:12 -05:00
Zach Gollwitzer
2722254be9
Sync account after balance deletion
...
Publish Docker image / ci (push) Has been cancelled
Publish Docker image / Build docker image (push) Has been cancelled
- Fixes #1416
- Fixes timezone bugs in forms
2024-11-05 19:31:24 -05:00
Zach Gollwitzer
455257bf51
Show onboarding unless invitation present
...
Fixes #1421
2024-11-05 19:08:45 -05:00
Zach Gollwitzer
f2739b79fb
Improve password reset flow, normalize translations
Publish Docker image / ci (push) Waiting to run
Publish Docker image / Build docker image (push) Blocked by required conditions
2024-11-05 17:15:29 -05:00
Zach Gollwitzer
65db49273c
Account Activity View + Account Forms ( #1406 )
...
Publish Docker image / ci (push) Waiting to run
Publish Docker image / Build docker image (push) Blocked by required conditions
* Remove balance mode, sketch out refactor
* Activity view checkpoint
* Entry partials, checkpoint
* Finish txn partial
* Give entries context when editing for different turbo responses
* Calculate change of balance for each entry
* Account tabs consolidation
* Translations, linting, brakeman updates
* Account actions concern
* Finalize forms, get account system tests passing
* Get tests passing
* Lint, rubocop, schema updates
* Improve routing and stream responses
* Fix broken routes
* Add import option for adding accounts
* Fix system test
* Fix test specificity
* Fix sparklines
* Improve account redirects
2024-11-04 20:27:31 -05:00
Josh Pigford
793bd852a0
Family invites ( #1397 )
...
* Initial pass at household invites
* Invitee setup
* Clean up add member form
* Lint and other tweaks
* Security cleanup
* Lint
* i18n fixes
* More i18n cleanup
* Show pending invites
* Don't use turbo on the form
* Improved email design
* Basic tests
* Lint
* Update onboardings_controller.rb
* Registration + invite cleanup
* Lint
* Update brakeman.ignore
* Update brakeman.ignore
* Self host invite links
* Test tweaks
* Address missing param error
2024-11-01 10:23:27 -05:00
Harshit Chaudhary
47288a1629
Auto naming of Transfer Transaction ( #1393 )
...
* Remove Description field
* Auto naming of tranfer transaction
* Fix transfer test
* Improve Transfer entries names
2024-11-01 08:58:19 -04:00
Josh Pigford
cd91e66618
Initial pass at Synth-based ticker selection ( #1392 )
...
* Initial pass at Synth-based ticker selection
* Update _tickers.turbo_stream.erb
* Functional combobox display
* A few cleanup steps
* Linter
* Prevent long strings
* Another step towards functional combobox
* Deprecated files
* Custom Combobox implementation
* Lint
* Test suite fixes
* Lint
* Make direct use of mic codes
* Update splits
* Update trades_test.rb
2024-10-30 09:23:44 -04:00
Josh Pigford
7d8028b505
Stock filter ( #1376 )
...
Publish Docker image / ci (push) Waiting to run
Publish Docker image / Build docker image (push) Blocked by required conditions
* Initial pass at stock filtering
* Rough in filter
* Cleaning up security listing
* Tweak to search function
* Combobox tweaks
* Clean up search query
* Update trades test with combobox
* Update securities.yml
2024-10-28 15:49:19 -04:00
Josh Pigford
aa3342b0dc
Stock imports ( #1363 )
...
* Initial pass
* Marketstack data provider
* Marketstack data provider
* Refactor a bit
2024-10-24 16:36:50 -05:00
Zach Gollwitzer
6baffe7539
Beta Testing Round 3 Bug Fixes ( #1357 )
...
* Clean up env example files
* Fix duplicate category creations
* Fix duplicate tag and merchant creation
* Add initial valuation to imported accounts
* Add upgrade modal prompt
* Don't hide content on billing page
* Add temporary session for new customers
* Lint fixes
* Fix unused translations
* Fix system tests
2024-10-24 11:02:27 -04:00
Zach Gollwitzer
1d20de770f
User Onboarding + Bug Fixes ( #1352 )
...
* Bump min supported date to 20 years
* Add basic onboarding
* User onboarding
* Complete onboarding flow
* Cleanup, add user profile update test
2024-10-23 11:20:55 -04:00
Zach Gollwitzer
728b10d08e
Fix trade import mapping bug
2024-10-21 12:26:39 -04:00
Zach Gollwitzer
263d65ea7e
Basic account onboarding ( #1328 )
...
* Basic account onboarding
* Cleanup
2024-10-18 17:18:54 -04:00
Zach Gollwitzer
e8e100e1d8
Rework account views and addition flow ( #1324 )
...
* Move accountable partials
* Split accountables into separate view partials
* Fix test
* Add form to permitted partials
* Fix failing system tests
* Update new account modal views
* New sync algorithm implementation
* Update account system test assertions to match new behavior
* Fix off by 1 date error
* Revert new balance sync algorithm
* Add missing account overviews
2024-10-18 14:37:42 -04:00