Commit Graph

  • a37481fb71
    fix(charts): improve contrast for chart colors 9-10 (#614) Víctor Falcón 2026-06-30 12:28:03 +0200
  • 72ce58af4f fix(charts): improve contrast for chart colors 9-10 Víctor Falcón 2026-06-30 12:21:56 +0200
  • d55e15bb4f
    feat(landing): clarify AI framing and add testimonials (#613) Víctor Falcón 2026-06-30 11:40:30 +0200
  • 6d77a7f27d feat(landing): add six more testimonials, four highlighting AI and automation Víctor Falcón 2026-06-30 11:31:37 +0200
  • b9c6dac4bb feat(landing): clarify AI as a privacy-respecting feature Víctor Falcón 2026-06-30 11:27:13 +0200
  • 986f43705a
    fix(analysis): respect category types like the cashflow screen (#612) Víctor Falcón 2026-06-29 21:04:18 +0200
  • 4a85435084 fix(analysis): net refunds within a category so totals reconcile with cashflow Víctor Falcón 2026-06-29 20:53:52 +0200
  • 1c18166901 refactor(analytics): de-duplicate currency conversion and category-type helpers Víctor Falcón 2026-06-29 20:48:44 +0200
  • fad189e23b fix(analysis): exclude transfer, savings and investment categories from income and expense Víctor Falcón 2026-06-29 20:37:00 +0200
  • 6727a9c64a
    feat(ai): learn from category corrections so the AI stops repeating the same mistake (#608) Víctor Falcón 2026-06-29 19:12:15 +0200
  • ee69c51a84
    feat(transactions): make new-transaction marker cross-device (#611) Víctor Falcón 2026-06-29 19:11:37 +0200
  • e4ee59499d fix(transactions): bump second query-count budget for the marker write Víctor Falcón 2026-06-29 19:00:29 +0200
  • 0b9e726295 fix(transactions): satisfy phpstan and query-count budget Víctor Falcón 2026-06-29 18:54:04 +0200
  • dcebfcdadf feat(transactions): make new-transaction marker cross-device Víctor Falcón 2026-06-29 18:23:43 +0200
  • 884038c13b
    feat(transactions): highlight new transactions since last visit (#609) Víctor Falcón 2026-06-29 18:08:14 +0200
  • f3f882b632 feat(ai): mark correction-learned rules with the AI icon in settings Víctor Falcón 2026-06-29 18:07:41 +0200
  • 2ba1ba36fb refactor(transactions): drop the new-since-last-visit counter Víctor Falcón 2026-06-29 18:01:46 +0200
  • 0cd2b9b0f7 ui Víctor Falcón 2026-06-29 17:57:55 +0200
  • 5ef3e01c89
    fix(transactions): let date column size to its content (#610) Víctor Falcón 2026-06-29 17:51:51 +0200
  • 382c81691c fix(ai): show the learned-rule toast instead of the automatize prompt Víctor Falcón 2026-06-29 17:50:24 +0200
  • 273674ba8b fix(transactions): let date column size to its content Víctor Falcón 2026-06-29 17:43:34 +0200
  • 66db843e41 fix(transactions): mark new rows individually instead of one divider Víctor Falcón 2026-06-29 17:40:49 +0200
  • 65a612b194 fix(transactions): freeze the last-visit marker at mount Víctor Falcón 2026-06-29 17:36:58 +0200
  • c04a1d8a44 refactor(transactions): move last-visit storage into a lib module Víctor Falcón 2026-06-29 17:36:14 +0200
  • 016d65ddb2 feat(transactions): show a 'Last visit' divider above new transactions Víctor Falcón 2026-06-29 17:22:03 +0200
  • 12ceb0f7db test(ai): cover debtor_name, single-token and encrypted correction paths Víctor Falcón 2026-06-29 17:06:34 +0200
  • ca743fde7d refactor(ai): dedup clause-append and drop unused enum helper Víctor Falcón 2026-06-29 17:05:09 +0200
  • 67fc4293cd fix(ai): stop an ai rule from out-ranking a learned correction Víctor Falcón 2026-06-29 17:04:01 +0200
  • 88b43dfb99 feat(ai): learn a forward rule from category corrections Víctor Falcón 2026-06-29 16:52:58 +0200
  • 300756e553
    feat(stats): add --no-discord to the remaining report commands (#607) Víctor Falcón 2026-06-29 15:32:31 +0200
  • 62fcdacb6a feat(stats): add --no-discord to the rest of the report commands Víctor Falcón 2026-06-29 14:31:17 +0200
  • 1db2871398
    feat(stats): add --no-discord flag to stats:experiment-funnel (#606) Víctor Falcón 2026-06-29 12:31:29 +0200
  • 20fb4bd165 feat(stats): add --no-discord flag to stats:experiment-funnel Víctor Falcón 2026-06-29 12:03:11 +0200
  • 09d6e8ee6c
    feat(subscriptions): reframe pay_now paywall copy around try-and-refund (#605) Víctor Falcón 2026-06-28 12:40:59 +0200
  • 65de5a76e5 feat(subscriptions): reframe pay_now paywall copy around try-and-refund Víctor Falcón 2026-06-28 12:31:30 +0200
  • 777dfc07b2
    feat(dashboard): add accounts manager dialog with visibility toggle and reorder (#604) Víctor Falcón 2026-06-27 18:11:25 +0200
  • 8bbff05b26
    fix(banking): only log sync failures once the connection gives up (#603) Víctor Falcón 2026-06-27 18:04:36 +0200
  • 17c6017c12 feat(dashboard): add accounts manager dialog with visibility toggle and reorder Víctor Falcón 2026-06-27 18:03:14 +0200
  • bc57eae5c3
    fix(open-banking): stop storing the XXX no-currency placeholder on accounts (#602) Víctor Falcón 2026-06-27 18:01:21 +0200
  • e5350ff1a6
    feat(subscriptions): trial/pricing A/B/C experiment (#600) Víctor Falcón 2026-06-27 18:00:15 +0200
  • ed8dea78ee fix(banking): only log sync failures once the connection gives up Víctor Falcón 2026-06-27 17:57:33 +0200
  • 9c018e40de fix(accounts): backfill accounts and owners stuck on the XXX currency Víctor Falcón 2026-06-27 17:49:52 +0200
  • c18debf7da fix(open-banking): never store the XXX no-currency placeholder on imported accounts Víctor Falcón 2026-06-27 17:49:52 +0200
  • 7cc312fb7c feat(subscriptions): post self-service refunds to Discord in real time Víctor Falcón 2026-06-27 17:43:04 +0200
  • 54b9de3683 fix(subscriptions): satisfy Larastan on the refund/funnel types Víctor Falcón 2026-06-27 17:34:07 +0200
  • cb5bc47905 feat(stats): add MRR and ARPU per variant to the experiment funnel Víctor Falcón 2026-06-27 17:08:31 +0200
  • e4be39be12
    feat(integration-requests): add done status and fix review command crash on orphaned author (#601) Víctor Falcón 2026-06-27 16:42:09 +0200
  • c4781c7ad6 fix(integration-requests): load trashed authors instead of null-guarding email Víctor Falcón 2026-06-27 16:31:27 +0200
  • 051ef165f6 feat(subscriptions): pin the winning variant via env Víctor Falcón 2026-06-27 16:29:55 +0200
  • 9154cde706 feat(integration-requests): add done status and fix review command crash on orphaned author Víctor Falcón 2026-06-27 16:22:57 +0200
  • f1d1fb0f71 test(subscriptions): live Stripe-sandbox verifier for the refund flow Víctor Falcón 2026-06-27 16:20:28 +0200
  • 4f69fcdc00 chore: drop stray agent skill dirs from this PR Víctor Falcón 2026-06-27 16:10:37 +0200
  • 62dd84e51f test(subscriptions): browser coverage for the self-service refund flow Víctor Falcón 2026-06-27 16:09:14 +0200
  • 3e97ce042b fix(subscriptions): address review of the trial/pricing experiment Víctor Falcón 2026-06-27 16:05:58 +0200
  • 0b3a4ef5eb feat(stats): per-variant experiment funnel report Víctor Falcón 2026-06-27 14:51:24 +0200
  • f47a5be798 feat(subscriptions): show experiment trial terms and refund control Víctor Falcón 2026-06-27 14:04:48 +0200
  • 7c8528f48a feat(subscriptions): self-service refund for the pay-now variant Víctor Falcón 2026-06-27 13:59:46 +0200
  • f92a482256 feat(subscriptions): drive checkout trial length from the experiment Víctor Falcón 2026-06-27 13:45:53 +0200
  • f6d032c0ec feat(subscriptions): assign trial/pricing experiment variants Víctor Falcón 2026-06-27 13:39:17 +0200
  • 756b4816a6
    feat(stats): add weekly subscription funnel report (#599) Víctor Falcón 2026-06-27 15:40:11 +0200
  • 80469c7747 feat(stats): add weekly subscription funnel report Víctor Falcón 2026-06-27 13:10:18 +0200
  • d7bc4e6707
    feat(transactions): reorder filters and switch accounts to a logo dropdown (#598) Víctor Falcón 2026-06-26 20:09:02 +0200
  • 4038e60fbc
    fix(ai): handle transient AI provider overloads — stop the Sentry noise and retry the dropped work (#595) Víctor Falcón 2026-06-26 20:07:06 +0200
  • effd3ad167 test(transactions): cover account filter dropdown and harden duplicate names Víctor Falcón 2026-06-26 20:02:47 +0200
  • d6ec9830df
    feat(transactions): refine new transaction form layout and balance toggle (#597) Víctor Falcón 2026-06-26 19:59:44 +0200
  • 934d834ab3
    feat(email): follow up after post-onboarding AI consent (#596) Víctor Falcón 2026-06-26 19:56:06 +0200
  • a747220d3f feat(transactions): reorder filters and use account dropdown with bank logos Víctor Falcón 2026-06-26 19:55:37 +0200
  • df67236b85 feat(ai): retry pending transactions after a transient provider failure Víctor Falcón 2026-06-26 19:55:15 +0200
  • 1fd52727ea feat(transactions): refine new transaction form layout and balance toggle Víctor Falcón 2026-06-26 19:51:45 +0200
  • ce2fa28ae7 fix(ai): type AiConsent datetime properties for static analysis Víctor Falcón 2026-06-26 19:48:26 +0200
  • 22436ec2e1 feat(email): deep-link the CTA to the AI-categorised filter Víctor Falcón 2026-06-26 19:45:01 +0200
  • 47cecf0bee feat(email): follow up after post-onboarding AI consent Víctor Falcón 2026-06-26 19:41:14 +0200
  • 4f87218c26 fix(ai): stop reporting transient AI provider overloads to Sentry Víctor Falcón 2026-06-26 19:36:40 +0200
  • 291cfbe261
    feat(ai): record the model behind each AI categorization (#594) Víctor Falcón 2026-06-26 14:53:55 +0200
  • d44ad6fa6f feat(ai): record the model behind each AI categorization Víctor Falcón 2026-06-26 14:47:55 +0200
  • 094ff4d5ac
    feat(banking): enable Interactive Brokers for all users (#593) Víctor Falcón 2026-06-26 11:03:21 +0200
  • e389449116 feat(banking): enable Interactive Brokers for all users Víctor Falcón 2026-06-26 10:47:01 +0200
  • f72e2a64ca
    feat(features): support percentage rollouts in feature:enable (#592) Víctor Falcón 2026-06-25 12:46:30 +0200
  • cbe318debc feat(features): support percentage rollouts in feature:enable Víctor Falcón 2026-06-25 12:40:35 +0200
  • 9a458b1031
    feat(ai): manage AI consent outside onboarding with live backfill (#591) Víctor Falcón 2026-06-25 10:50:35 +0200
  • f09bc7aa55 refactor(types): share categorization progress/response types Víctor Falcón 2026-06-25 10:27:21 +0200
  • 65e3389154 refactor(transactions): poll categorization status via a shared hook Víctor Falcón 2026-06-25 10:26:22 +0200
  • 03fd41fda9 refactor(ai): move backfill kickoff into a StartCategorizationBackfill action Víctor Falcón 2026-06-25 10:24:05 +0200
  • 3126f1763f refactor(ai): extract the categorization backfill loop into AiCategorizer Víctor Falcón 2026-06-25 10:22:55 +0200
  • e53642b16b chore(queue): process the ai queue in local dev Víctor Falcón 2026-06-25 10:18:48 +0200
  • 9b7f5aedf8 feat(billing): mark AI categorization as PRO on the consent toggle Víctor Falcón 2026-06-25 10:18:06 +0200
  • 18e5af23a9 fix(ai): handle backfill job failure instead of polling forever Víctor Falcón 2026-06-25 10:15:47 +0200
  • 7f9231f93b feat(ai): categorize most recent transactions first in backfill Víctor Falcón 2026-06-25 09:43:59 +0200
  • a5b2a46633 feat(ai): backfill uncategorized transactions when consent is granted Víctor Falcón 2026-06-25 09:31:03 +0200
  • 4a5252fd50 fix(transactions): make AI consent banner responsive on mobile Víctor Falcón 2026-06-25 09:07:51 +0200
  • de42234050 feat(transactions): show AI consent prompt as the first table row Víctor Falcón 2026-06-25 08:45:02 +0200
  • e083ba8b16 feat(ai): manage AI consent outside onboarding behind a flag Víctor Falcón 2026-06-24 17:04:03 +0200
  • 578a9b44d8
    fix(banking): keep the native green Wise logo, not the aggregator's (#590) Víctor Falcón 2026-06-24 09:34:37 +0200
  • 30857d2f9e fix(banking): keep the native green Wise logo, not the aggregator's Víctor Falcón 2026-06-23 16:57:17 +0200
  • ed5aac0c4a
    fix(banking): stop Wise appearing multiple times in the connect list (#589) Víctor Falcón 2026-06-23 16:20:59 +0200
  • 7a784db14f fix(banking): stop Wise appearing multiple times in the connect list Víctor Falcón 2026-06-23 16:00:34 +0200
  • 619ed0f1db
    feat(banking): let Wise credentials be updated (#588) Víctor Falcón 2026-06-23 11:54:31 +0200
  • 39593b429c feat(banking): let Wise credentials be updated Víctor Falcón 2026-06-23 11:47:21 +0200
  • f60e6d7035
    feat(banking): add Interactive Brokers sync via Flex Web Service (#581) Víctor Falcón 2026-06-23 11:39:24 +0200
  • 3418bf5e23 fix(accounts): don't draw the invested overlay for a single data point fix/banking-invested-overlay-single-point Víctor Falcón 2026-06-23 11:07:41 +0200