1
0
Fork 0
mirror of https://github.com/maybe-finance/maybe.git synced 2025-07-18 20:59:39 +02:00
Commit graph

1014 commits

Author SHA1 Message Date
Zach Gollwitzer
da668f3dc0
Bump to v0.4.1
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-21 14:19:50 -05:00
Zach Gollwitzer
cc11fec08a
Add git to Dockerfile for self hosted versioning info
Signed-off-by: Zach Gollwitzer <zach@maybe.co>
2025-02-21 13:40:16 -05:00
Josh Pigford
ce12e5b5c7 Remove inter-font from early access layout 2025-02-21 11:45:57 -06:00
Zach Gollwitzer
f96bb84c4c
Bump to v0.4.0
Signed-off-by: Zach Gollwitzer <zach@maybe.co>
2025-02-21 12:39:49 -05:00
Zach Gollwitzer
d75be2282b
New Design System + Codebase Refresh (#1823)
Since the very first 0.1.0-alpha.1 release, we've been moving quickly to add new features to the Maybe app. In doing so, some parts of the codebase have become outdated, unnecessary, or overly-complex as a natural result of this feature prioritization.

Now that "core" Maybe is complete, we're moving into a second phase of development where we'll be working hard to improve the accuracy of existing features and build additional features on top of "core". This PR is a quick overhaul of the existing codebase aimed to:

- Establish the brand new and simplified dashboard view (pictured above)
- Establish and move towards the conventions introduced in Cursor rules and project design overview #1788
- Consolidate layouts and improve the performance of layout queries
- Organize the core models of the Maybe domain (i.e. Account::Entry, Account::Transaction, etc.) and break out specific traits of each model into dedicated concerns for better readability
- Remove stale / dead code from codebase
- Remove overly complex code paths in favor of simpler ones
2025-02-21 11:57:59 -05:00
Zach Gollwitzer
8539ac7dec
Fix import configuration failures (#1876) 2025-02-21 08:58:06 -05:00
Tony Vincent
c620d1fc1e
fix: Ghost subcategories when parent category is deleted (#1874)
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-20 09:03:30 -05:00
dependabot[bot]
79e1a2c0ff
Bump logtail-rails from 0.2.9 to 0.2.10 (#1866)
Some checks failed
Publish Docker image / ci (push) Has been cancelled
Publish Docker image / Build docker image (push) Has been cancelled
Bumps [logtail-rails](https://github.com/logtail/logtail-ruby-rails) from 0.2.9 to 0.2.10.
- [Release notes](https://github.com/logtail/logtail-ruby-rails/releases)
- [Changelog](https://github.com/logtail/logtail-ruby-rails/blob/main/README.md)
- [Commits](https://github.com/logtail/logtail-ruby-rails/compare/v0.2.9...v0.2.10)

---
updated-dependencies:
- dependency-name: logtail-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-17 14:43:19 -05:00
dependabot[bot]
e9b29f6726
Bump image_processing from 1.13.0 to 1.14.0 (#1865)
Some checks are pending
Publish Docker image / ci (push) Waiting to run
Publish Docker image / Build docker image (push) Blocked by required conditions
Bumps [image_processing](https://github.com/janko/image_processing) from 1.13.0 to 1.14.0.
- [Changelog](https://github.com/janko/image_processing/blob/master/CHANGELOG.md)
- [Commits](https://github.com/janko/image_processing/compare/v1.13.0...v1.14.0)

---
updated-dependencies:
- dependency-name: image_processing
  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-17 11:43:04 -05:00
dependabot[bot]
1b1e06070b
Bump plaid from 35.1.0 to 36.0.0 (#1867)
Bumps [plaid](https://github.com/plaid/plaid-ruby) from 35.1.0 to 36.0.0.
- [Release notes](https://github.com/plaid/plaid-ruby/releases)
- [Changelog](https://github.com/plaid/plaid-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/plaid/plaid-ruby/compare/v35.1.0...v36.0.0)

---
updated-dependencies:
- dependency-name: plaid
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-17 11:42:42 -05:00
Tony Vincent
f35b70e936
fix: Transfers should always total to zero (#1859) 2025-02-17 11:42:30 -05:00
Zach Gollwitzer
8e339dcbe0
Dockerfile fixes
Some checks failed
Publish Docker image / ci (push) Has been cancelled
Publish Docker image / Build docker image (push) Has been cancelled
Signed-off-by: Zach Gollwitzer <zach@maybe.co>
2025-02-13 17:24:24 -05:00
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