Commit Graph

  • 0c0262eb4d fix(static-analysis): drop mismatched CategorySpendingService return generic Víctor Falcón 2026-07-04 21:31:15 +0200
  • 0d7e39705e Document category eager-load expectation on Transaction side methods Víctor Falcón 2026-07-04 21:19:26 +0200
  • e8b6e62557 Guard sumTransactions against unsupported category types Víctor Falcón 2026-07-04 21:19:09 +0200
  • 6ff7edf193
    feat(currencies): add Nigerian Naira (NGN) (#642) Víctor Falcón 2026-07-04 21:10:58 +0200
  • 063839675e test(currencies): remove NGN currency options test Víctor Falcón 2026-07-04 21:05:21 +0200
  • ec62f881b4 feat(currencies): add Nigerian Naira (NGN) Víctor Falcón 2026-07-04 21:04:06 +0200
  • 27919027fe
    chore: harden Inertia boundary, CI type-check, and test isolation (#640) Víctor Falcón 2026-07-04 20:57:58 +0200
  • 269b90ccb5 Fake the external currency-rate provider in balance-evolution tests Víctor Falcón 2026-07-04 20:52:15 +0200
  • eccfaa5a7a
    refactor(drip): extract base mailable and job for the drip email family (#641) Víctor Falcón 2026-07-04 20:51:38 +0200
  • f02cf7cd74 Add missing TransactionSource cases to the TS type Víctor Falcón 2026-07-04 20:33:12 +0200
  • b8928234ae Align server rule normalization with the client and lock it with parity fixtures Víctor Falcón 2026-07-04 20:31:41 +0200
  • 2208e38071 Batch net-worth balance lookups to kill the per-account N+1 Víctor Falcón 2026-07-04 20:25:52 +0200
  • 0f08c0c662 Extract duplicated getCategorySpending into CategorySpendingService Víctor Falcón 2026-07-04 20:23:52 +0200
  • 5572a2d75a Move income/expense-side classification onto the Transaction model Víctor Falcón 2026-07-04 20:21:52 +0200
  • 722c7d1bef Consolidate savings-rate math into CashflowSummaryService Víctor Falcón 2026-07-04 20:18:16 +0200
  • 85d9d2444b test(drip): assert promo code email injects the FOUNDER view var Víctor Falcón 2026-07-04 20:35:21 +0200
  • f803a4a9b0 Deduplicate residual-encryption purge dispatches with ShouldBeUnique Víctor Falcón 2026-07-04 20:34:28 +0200
  • dff7d9b08f test(drip): cover reply-to hook and all eight drip senders Víctor Falcón 2026-07-04 20:34:24 +0200
  • 9e90db293c Purge check uses name_iv source of truth, not the stale encrypted flag Víctor Falcón 2026-07-04 20:33:10 +0200
  • eea929ef9d refactor(drip): extract base mailable and job for the drip email family Víctor Falcón 2026-07-04 20:28:20 +0200
  • 845f51abb5
    refactor(open-banking): extract shared connect-controller flow into a base class (#639) Víctor Falcón 2026-07-04 20:24:54 +0200
  • 43a09a94f3 Block stray HTTP requests in the Feature test suite Víctor Falcón 2026-07-04 20:23:29 +0200
  • b7ff4e074d Move residual-encryption cleanup out of Inertia share() into a queued job Víctor Falcón 2026-07-04 20:18:49 +0200
  • 39588ea8e8 Add advisory frontend type-check to CI and drop duplicate currency_code Víctor Falcón 2026-07-04 20:16:16 +0200
  • 4031249489 Hide sensitive User fields from serialization Víctor Falcón 2026-07-04 20:13:38 +0200
  • b6ffbc46bc test(open-banking): cover Interactive Brokers empty-statement guard Víctor Falcón 2026-07-04 20:09:38 +0200
  • 08430c8b32 refactor(open-banking): drop per-provider log-message hook Víctor Falcón 2026-07-04 20:08:00 +0200
  • 0e6a144c2c refactor(open-banking): share crypto portfolio mapping via intermediate base Víctor Falcón 2026-07-04 20:06:12 +0200
  • a73adddb3b refactor(open-banking): extract shared connect flow into base controller Víctor Falcón 2026-07-04 19:59:19 +0200
  • 79b8d27ece
    docs(claude): add laravel/ai package and ai-sdk-development skill to Boost guidelines (#638) Víctor Falcón 2026-07-04 19:34:11 +0200
  • 2559894851 docs(claude): add laravel/ai package and ai-sdk-development skill to Boost guidelines Víctor Falcón 2026-07-04 19:28:34 +0200
  • 3972007844
    fix(discord): show old → new plan on plan change notification (#637) Víctor Falcón 2026-07-04 17:49:09 +0200
  • b46e34b91a fix(discord): show old → new plan on plan change notification Víctor Falcón 2026-07-04 17:43:21 +0200
  • 02087abcc7
    feat(welcome): add Francisco Montes testimonial (#636) Víctor Falcón 2026-07-04 16:08:33 +0200
  • 3dd3d1b6c6 feat(welcome): add Francisco Montes testimonial Víctor Falcón 2026-07-04 16:02:36 +0200
  • c159e8782e
    fix(ai): surface learned-rule toast in edit modal and guard weak description keys (#635) Víctor Falcón 2026-07-04 13:00:15 +0200
  • 2bf64562b0 fix(ai): surface learned-rule toast in edit modal and guard weak keys Víctor Falcón 2026-07-04 12:54:04 +0200
  • 477e4d50e2
    feat(encryption): commands to warn and remove inactive encrypted-data accounts (#633) Víctor Falcón 2026-07-03 17:57:04 +0200
  • afa80b60fe
    fix(accounts): remove double-skeleton flash on account show (#634) Víctor Falcón 2026-07-03 17:56:49 +0200
  • 27467a8864 fix(accounts): remove double-skeleton flash on account show Víctor Falcón 2026-07-03 17:50:58 +0200
  • ece5cd5d27 feat(encryption): add commands to warn and remove inactive encrypted-data accounts Víctor Falcón 2026-07-03 17:50:51 +0200
  • 9326d8fd2f
    perf(accounts): defer the account ledger prop on show (#632) Víctor Falcón 2026-07-03 17:40:08 +0200
  • bb7e2faab8 test(accounts): cover the deferred-transactions reload on create Víctor Falcón 2026-07-03 17:16:00 +0200
  • c0ad01cfe3 perf(accounts): defer the account ledger prop on show Víctor Falcón 2026-07-03 17:04:45 +0200
  • 4fdb7eebd9
    fix: address remaining security audit findings (round 2) (#628) Anshul Nitin 2026-07-03 20:34:03 +0530
  • 0e942a4f56 fix(security): default TRUSTED_PROXIES to trust-all when unset Víctor Falcón 2026-07-03 16:47:55 +0200
  • 178678e36e fix(security): trim TRUSTED_PROXIES entries and document the var Víctor Falcón 2026-07-03 16:35:31 +0200
  • c61c547f36 fix(security): retry decrypt-migration requests on HTTP 429 Víctor Falcón 2026-07-03 16:20:24 +0200
  • cc54e34f58 fix(security): tune API and OAuth callback rate limits Víctor Falcón 2026-07-03 16:20:24 +0200
  • 865b07de1e revert: drop out-of-scope changes from security round 2 Víctor Falcón 2026-07-03 15:46:16 +0200
  • c4af43786b fix: address remaining security audit findings anshulnitin-cyberspace 2026-07-03 17:21:31 +0530
  • 021cb66643
    feat(transactions): serve import dedup and account ledger from the backend (#631) Víctor Falcón 2026-07-03 16:49:59 +0200
  • a31985822c fix(import): match Unicode whitespace in server-side duplicate detection Víctor Falcón 2026-07-03 16:05:36 +0200
  • bdffa91bb1 fix(transactions): drop rows reassigned to another account from the account list Víctor Falcón 2026-07-03 16:04:03 +0200
  • 057e78c3eb refactor(accounts): centralize the "has transaction ledger" rule and stabilize pagination Víctor Falcón 2026-07-03 16:02:31 +0200
  • 0976b635e7 feat(transactions): serve import dedup and account ledger from the backend Víctor Falcón 2026-07-03 16:00:58 +0200
  • c370abcd6d
    chore(sentry): migrate Vite source map upload from Bugsink to Sentry (#630) Víctor Falcón 2026-07-03 15:36:13 +0200
  • 2e4c37a734 fix(sentry): upload source maps to php-laravel project Víctor Falcón 2026-07-03 15:30:27 +0200
  • 4615d7a880
    fix(worktree): remove double slash in storage/keys copy path (#629) Víctor Falcón 2026-07-03 15:23:45 +0200
  • 45c66e4451 chore(sentry): migrate Vite source map upload from Bugsink to Sentry Víctor Falcón 2026-07-03 15:20:44 +0200
  • 898aa2ec63 fix(worktree): remove double slash in storage/keys copy path Víctor Falcón 2026-07-03 15:17:25 +0200
  • d55c3f41df
    fix(security): scope job-status endpoints to owner + feature-area fixes (#627) Víctor Falcón 2026-07-03 14:49:32 +0200
  • a5697d886c test(automation-rules): cover apply job execution and failure branches Víctor Falcón 2026-07-03 13:27:56 +0200
  • efe60282c8 fix(transactions): stop job-status polling when the job never starts Víctor Falcón 2026-07-03 13:26:18 +0200
  • 9a806c0565 perf(automation-rules): memoize rule set per user in applyRules Víctor Falcón 2026-07-03 13:24:17 +0200
  • 1ed4a1a833 fix(automation-rules): re-check only_uncategorized at apply time Víctor Falcón 2026-07-03 13:22:36 +0200
  • 93e2d6823c fix(security): scope job-status cache keys to the owning user Víctor Falcón 2026-07-03 13:09:18 +0200
  • eb31455e60
    fix: skip demo reset when demo account is disabled (#626) Víctor Falcón 2026-07-03 09:27:43 +0200
  • bd9f14368a test: cover demo:reset skip path and fix enabled config in setup Víctor Falcón 2026-07-03 09:20:34 +0200
  • 47c86f615d fix: skip demo reset when demo account is disabled Víctor Falcón 2026-07-03 09:10:32 +0200
  • a8d28bfcc1
    test(drip): deflake AI consent onboarding-grace boundary test (#625) Víctor Falcón 2026-07-03 09:06:20 +0200
  • 674fe7db08 test(drip): freeze time to deflake the AI consent onboarding-grace boundary Víctor Falcón 2026-07-03 09:00:25 +0200
  • 3d3f6daa77
    perf(ai): reduce N+1 in bulk category updates (PHP-LARAVEL-40, partial) (#624) Víctor Falcón 2026-07-03 07:52:19 +0200
  • ff9d91397b test(ai): guard AiRuleLearner against a singleton binding Víctor Falcón 2026-07-03 03:46:54 +0200
  • 37dc056351 test(ai): assert batch corrections learn correctly through the memoized corpus Víctor Falcón 2026-07-03 03:45:58 +0200
  • e5780eade7 perf(ai): memoize the description corpus per user in AiRuleLearner Víctor Falcón 2026-07-03 03:37:39 +0200
  • 7b13214e07 perf(transactions): resolve the override handler once for bulk updates Víctor Falcón 2026-07-03 03:37:39 +0200
  • ad46e465be
    perf(db): index transactions for the daily synced-email slow query (PHP-LARAVEL-3X) (#622) Víctor Falcón 2026-07-02 15:51:15 +0200
  • ddf22ca74e test(db): assert the daily-email index name, not just its columns Víctor Falcón 2026-07-02 15:39:24 +0200
  • dae0f64aa1 perf(db): index transactions for the daily synced-email query Víctor Falcón 2026-07-02 15:34:55 +0200
  • 84bad76316
    perf(banking): kill per-transaction dedup N+1 in bank sync (PHP-LARAVEL-3Y) (#621) Víctor Falcón 2026-07-02 15:34:29 +0200
  • 0f8eca50d0
    fix: stop double-dispatching transaction listeners (N+1 insert into jobs) (#620) Víctor Falcón 2026-07-02 15:26:45 +0200
  • 2a2cb3871b test(banking): cover intra-run cross-page dedup Víctor Falcón 2026-07-02 15:19:54 +0200
  • 5700f85cf7 test(events): guard against double-registered transaction listeners Víctor Falcón 2026-07-02 15:18:52 +0200
  • d1e3832e01 fix(banking): match external ids case-insensitively in dedup Víctor Falcón 2026-07-02 15:18:03 +0200
  • d74d09ad33 perf(banking): stream dedup key preload with a cursor Víctor Falcón 2026-07-02 15:16:15 +0200
  • 6726b2e833 perf(banking): preload dedup keys to kill per-transaction N+1 Víctor Falcón 2026-07-02 15:07:43 +0200
  • 56f21c2d79 perf(ai): skip queuing the categorization job when it would no-op Víctor Falcón 2026-07-01 10:10:26 +0200
  • 26790990f3 fix(events): stop double-registering transaction listeners Víctor Falcón 2026-07-01 10:10:20 +0200
  • 4120e12861
    refactor(ai): remove AiConsentSettings feature flag (#619) Víctor Falcón 2026-07-01 09:47:55 +0200
  • cb3a428587 refactor(ai): remove AiConsentSettings feature flag Víctor Falcón 2026-07-01 09:31:10 +0200
  • 10442c1e32
    feat(onboarding): auto-enable AI for connected banks, ask the rest (#618) Víctor Falcón 2026-07-01 09:26:52 +0200
  • 7e36bbafef
    feat(ai): dismissable AI consent banner that stops after the first decision (#617) Víctor Falcón 2026-07-01 09:26:36 +0200
  • 3fd7bd041a feat(ai): let users dismiss the AI consent banner and stop showing it after a decision Víctor Falcón 2026-07-01 09:20:38 +0200
  • 42c98361b8 feat(onboarding): auto-enable AI for connected banks, ask the rest Víctor Falcón 2026-07-01 09:20:38 +0200
  • af64f56399
    feat(onboarding): clarify the "categorize at least 5" goal in the categorizer (#616) Víctor Falcón 2026-07-01 08:34:51 +0200
  • 81b561d502 fix(onboarding): tighten mobile top spacing and bottom-center toasts Víctor Falcón 2026-06-30 15:37:55 +0200
  • a0ea823909 feat(onboarding): clarify the "categorize at least 5" goal in the categorizer Víctor Falcón 2026-06-30 15:05:22 +0200
  • e631cbba69
    fix(settings): vertically center rows in automation rules and labels tables (#615) Víctor Falcón 2026-06-30 12:37:20 +0200
  • 7d99fd5a63 fix(settings): vertically center rows in automation rules and labels tables Víctor Falcón 2026-06-30 12:29:02 +0200