1
0
Fork 0
mirror of https://github.com/maybe-finance/maybe.git synced 2025-07-23 15:19:38 +02:00
Commit graph

1052 commits

Author SHA1 Message Date
Zach Gollwitzer
366862fee1 Fix bootsnap hanging in CI 2025-02-13 15:32:51 -05:00
Zach Gollwitzer
73f826fdf2 Split Dockerfile build commands for more clarity in CI 2025-02-13 15:04:15 -05:00
Zach Gollwitzer
999f1c5190 Fix font resolution paths 2025-02-13 14:58:11 -05:00
Zach Gollwitzer
849c58dd3e
Maybe Design System Updates (#1856)
* Add geist font

* Design system css file

* Add cursor ui/ux rules

* Add shadows and shadow borders

* Replace primitives with tokens for common text and backgrounds

* Organize css

* Update switch and checkbox class names

* Add back global color variables
2025-02-13 11:31:07 -05:00
Zach Gollwitzer
c0e290a07e
Add max time to Docker publish
Some checks are pending
Publish Docker image / ci (push) Waiting to run
Publish Docker image / Build docker image (push) Blocked by required conditions
Signed-off-by: Zach Gollwitzer <zach@maybe.co>
2025-02-12 15:07:24 -05:00
Josh Pigford
f1f2e103ce
Enhance Plaid connection management with re-authentication and error handling (#1854)
* Enhance Plaid connection management with re-authentication and error handling

- Add support for Plaid item status tracking (good/requires_update)
- Implement re-authentication flow for Plaid connections
- Handle connection errors and provide user-friendly reconnection options
- Update Plaid link token generation to support item updates
- Add localization for new connection management states

* Remove redundant 'reconnect' localization for Plaid items
2025-02-12 12:59:35 -06:00
Zach Gollwitzer
08a2d35308 Fix off-center modals 2025-02-12 11:57:31 -05:00
Zach Gollwitzer
a82c0303ce
Upgrade to Tailwind v4 (#1853)
* Upgrade to Tailwind v4

* Update max width classes

* Revert improper changes from Tailwind migration tool
2025-02-12 11:22:30 -05:00
Josh Pigford
945a39d035 Add manual entry option for two-factor authentication setup
Some checks are pending
Publish Docker image / ci (push) Waiting to run
Publish Docker image / Build docker image (push) Blocked by required conditions
2025-02-12 09:15:00 -06:00
Marvin M
d31d5c5467
fix: liabilities favorable direction is "down" (#1849)
Some checks are pending
Publish Docker image / ci (push) Waiting to run
Publish Docker image / Build docker image (push) Blocked by required conditions
2025-02-11 15:18:22 -05:00
Josh Pigford
ab7f6a56f0 Enhance securities de-duplication task 2025-02-11 11:11:14 -06:00
Josh Pigford
68d7cb5de6
Enhance security information retrieval and handling (#1826)
* Enhance security information retrieval and handling

- Add support for operating MIC codes in security info fetching
- Update security uniqueness validation to handle unknown securities
- Improve security creation and update logic in Plaid investment sync
- Update combobox and view components to handle operating MIC codes
- Add unknown flag for securities with incomplete information

* Update schema.rb

* Refactor the need for mic codes

* Don't fetch prices unless a security has the necessary mic code

* Deduplication

* Lint

* Update Securities and Plaid Investment Sync

- Modify PlaidInvestmentSync to return plaid_security for USD cash
- Add non-null constraint to Securities ticker column
- Update Securities fixture to use exchange_operating_mic instead of exchange_mic

---------

Signed-off-by: Josh Pigford <josh@joshpigford.com>
2025-02-11 10:40:30 -06:00
Paul Imoke
fb6c6fa6bb
fix: subcategories are not properly handled for budget allocations (#1844)
Some checks are pending
Publish Docker image / ci (push) Waiting to run
Publish Docker image / Build docker image (push) Blocked by required conditions
* fix: `allocated_spending` logic

* fix: subcategories exceeding parent limit

* refactor: budget allocations and max allocation logic

* feat: add stream for budget category form validation

* feat: update uncategorized value via stream, refactor confirm button with stream

* fix: ensure live updates for parent & sibling budgets in Turbo Stream

* fix: lint issues
2025-02-11 09:28:06 -05:00
Daniel Esteves
077694bbde
feat(import): add currency and number format support for CSV imports (#1819)
Some checks are pending
Publish Docker image / ci (push) Waiting to run
Publish Docker image / Build docker image (push) Blocked by required conditions
* feat(import): add currency and number format support for CSV imports

* feat(import): add currency and format for mint and trade

* fix(imports): remove currency field in favor of currency csv col

* fix(imports): remove validate column from import model

* test(import): add some tests for imports

* test(import): add some tests for generate_rows_from_csv

* fix: change method name for import model

* fix: change before validation

---------

Co-authored-by: danestves <danestves@users.noreply.github.com>
2025-02-10 15:31:28 -05:00
dependabot[bot]
9e5f1574bc
Bump sentry-rails from 5.22.3 to 5.22.4 (#1840)
Bumps [sentry-rails](https://github.com/getsentry/sentry-ruby) from 5.22.3 to 5.22.4.
- [Release notes](https://github.com/getsentry/sentry-ruby/releases)
- [Changelog](https://github.com/getsentry/sentry-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-ruby/compare/5.22.3...5.22.4)

---
updated-dependencies:
- dependency-name: sentry-rails
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-10 12:28:53 -05:00
dependabot[bot]
26197eda85
Bump webmock from 3.24.0 to 3.25.0 (#1839)
Bumps [webmock](https://github.com/bblimke/webmock) from 3.24.0 to 3.25.0.
- [Changelog](https://github.com/bblimke/webmock/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bblimke/webmock/compare/v3.24.0...v3.25.0)

---
updated-dependencies:
- dependency-name: webmock
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-10 12:22:33 -05:00
dependabot[bot]
1dbf1ad74e
Bump sentry-ruby from 5.22.3 to 5.22.4 (#1841)
Bumps [sentry-ruby](https://github.com/getsentry/sentry-ruby) from 5.22.3 to 5.22.4.
- [Release notes](https://github.com/getsentry/sentry-ruby/releases)
- [Changelog](https://github.com/getsentry/sentry-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-ruby/compare/5.22.3...5.22.4)

---
updated-dependencies:
- dependency-name: sentry-ruby
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-10 12:22:20 -05:00
dependabot[bot]
ab632cf0be
Bump ruby-lsp-rails from 0.3.31 to 0.4.0 (#1842)
Bumps [ruby-lsp-rails](https://github.com/Shopify/ruby-lsp-rails) from 0.3.31 to 0.4.0.
- [Release notes](https://github.com/Shopify/ruby-lsp-rails/releases)
- [Commits](https://github.com/Shopify/ruby-lsp-rails/compare/v0.3.31...v0.4.0)

---
updated-dependencies:
- dependency-name: ruby-lsp-rails
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-10 12:22:10 -05:00
dependabot[bot]
2b83fc787f
Bump good_job from 4.8.2 to 4.9.0 (#1843)
Bumps [good_job](https://github.com/bensheldon/good_job) from 4.8.2 to 4.9.0.
- [Release notes](https://github.com/bensheldon/good_job/releases)
- [Changelog](https://github.com/bensheldon/good_job/blob/main/CHANGELOG.md)
- [Commits](https://github.com/bensheldon/good_job/compare/v4.8.2...v4.9.0)

---
updated-dependencies:
- dependency-name: good_job
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-10 11:32:44 -05:00
Zach Gollwitzer
536c82f2aa
Feature: Add the ability to "revert" a CSV import (#1814)
Some checks failed
Publish Docker image / ci (push) Has been cancelled
Publish Docker image / Build docker image (push) Has been cancelled
* Allow reverting imports

* Fix tests

* Add currency column to all imports

* Don't auto-enrich demo account
2025-02-07 15:36:05 -05:00
Josh Pigford
60925bd16c Remove redundant amount validation from Account Holding model 2025-02-07 10:58:41 -06:00
Josh Pigford
cf23673003
Fix Account Holding validation and synchronization (#1818)
* Fix Account Holding validation and synchronization

Fixes #1781

- Add comprehensive validations for Account::Holding
- Implement validation to ensure amount matches qty * price
- Update Account::Syncer to include qty and price during synchronization
- Add database constraints for holding attributes and calculations

* Remove database check constraints for Account Holdings

Align with project convention of keeping complex validations in ActiveRecord
- Remove database-level check constraints for quantity, price, and amount
- Maintain database-level null and unique constraints
- Prepare for more flexible validation in the model layer
2025-02-07 10:42:01 -06:00
Zach Gollwitzer
0dc25cda22
Plaid EU webhooks migration task (#1825)
* Add data migration for EU Plaid webhooks

* Fix task
2025-02-07 11:09:38 -05:00
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
972c850d27 MFA qr code fix
Some checks are pending
Publish Docker image / ci (push) Waiting to run
Publish Docker image / Build docker image (push) Blocked by required conditions
2025-02-06 15:26:50 -06:00
Josh Pigford
78e34d68e9 fix: Format budget estimated income and spending with two decimal places
Some checks are pending
Publish Docker image / ci (push) Waiting to run
Publish Docker image / Build docker image (push) Blocked by required conditions
2025-02-06 14:40:58 -06:00
Josh Pigford
21dc4b80f3 fix: Round average monthly budget to two decimal places 2025-02-06 14:35:42 -06: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
7ba9063e04
feat: Add institution details to Plaid items (#1816)
* feat: Add institution details to Plaid items

- Fetch and store institution URL, ID, and primary color for Plaid items
- Update PlaidItem model to retrieve and save institution metadata
- Add new method in Plaid provider to get institution details
- Update account logo view to use institution domain for logo generation

* Add institution domain method to Account model

- Extract institution domain logic from view to Account model
- Simplify logo view by using new institution_domain method
- Improve code reusability and separation of concerns
2025-02-06 08:57:24 -06:00
Marvin M
df5f4c83fe
fix: Save completely allocated budget (#1811)
Some checks are pending
Publish Docker image / ci (push) Waiting to run
Publish Docker image / Build docker image (push) Blocked by required conditions
Signed-off-by: Marvin M <39344769+M123-dev@users.noreply.github.com>
2025-02-05 13:20:19 -05:00
Josh Pigford
e3ef1dd6b4 Increase profile image size limit 2025-02-05 12:04:24 -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
Josh Pigford
cf014bc24f Reduce Sentry sample rate 2025-02-05 11:33:59 -06:00
Josh Pigford
90f1ff8a0b Increase limit on ticker search 2025-02-05 11:02:12 -06:00
Josh Pigford
b84a33c09d
Refactor transaction enrichment to support batch processing (#1803)
* Refactor transaction enrichment to support batch processing

- Add method to enrich transactions in batches
- Implement job scheduling for unenriched transactions
- Improve logging and error handling for transaction enrichment

* Re-enable enrichment

* Fix transaction enrichment query to use correct table references

- Update queries to explicitly join and reference account_entries and account_transactions tables
- Remove unnecessary name presence check before enrichment
- Improve query precision for unenriched transaction selection

* Optimize transaction enrichment query joins

- Refactor database joins to use explicit table references
- Improve query performance for unenriched transaction selection
- Ensure correct table aliasing in enrichment methods

* Remove deprecated data enrichment job and method

- Delete EnrichDataJob as it's no longer used
- Remove `enrich_data_later` method from Account model
- Update Account::Syncer to directly call `enrich_data` instead of scheduling a job
2025-02-05 10:34:28 -06:00
Zach Gollwitzer
abd932c894
Update issue templates 2025-02-05 10:57:33 -05: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
f498212b2d Add migration generation guideline to project conventions
Some checks are pending
Publish Docker image / ci (push) Waiting to run
Publish Docker image / Build docker image (push) Blocked by required conditions
2025-02-04 20:25:19 -06:00
Saleh Almatrafi
37aab45c19
Fix incorrect currency assignment for stock prices #1623 (#1798)
Some checks are pending
Publish Docker image / ci (push) Waiting to run
Publish Docker image / Build docker image (push) Blocked by required conditions
2025-02-04 14:27:00 -05:00
Zach Gollwitzer
c9c5eb315a
Split family and Plaid item syncs into multiple jobs (#1799)
* Split family and Plaid item syncs into multiple jobs

* fix test expectations
2025-02-04 14:22:44 -05:00
Zach Gollwitzer
75c8627577 Temporarily disable data enrichment jobs until optimized 2025-02-04 13:54:14 -05:00
Zach Gollwitzer
15e8281d46 Remove thread allocation from catch-all queue 2025-02-04 13:39:52 -05:00
Zach Gollwitzer
283d9cd8e2 Fix GoodJob config syntax 2025-02-04 13:29:27 -05:00
Zach Gollwitzer
3e06017ae1
Use correct config scope for GoodJob
Signed-off-by: Zach Gollwitzer <zach@maybe.co>
2025-02-04 13:21:10 -05:00
Josh Pigford
058830591f Increase database connection pool size 2025-02-04 12:07:46 -06:00
Josh Pigford
32d826c047 Increase good_job threads 2025-02-04 12:06:05 -06:00
Josh Pigford
bdec61f312 Improve HoldingCalculator Security Preloading
- Include securities from both trades and current holdings
- Ensure unique securities are preloaded
- Enhance logging for preloaded securities
2025-02-04 11:02:50 -06:00
Zach Gollwitzer
9c846e7de4
Fix crypto.randomUUID errors when adding holdings (#1795) 2025-02-04 11:35:50 -05:00
Josh Pigford
4c158934d0 Improve Security Price Loading with Robust Error Handling
Some checks are pending
Publish Docker image / ci (push) Waiting to run
Publish Docker image / Build docker image (push) Blocked by required conditions
- Add error handling for individual security price loading
- Log detailed error information for problematic securities
- Prevent single security errors from halting entire price loading process
- Enhance logging with more specific security identification details
2025-02-03 19:57:58 -06:00