Commit Graph

  • bfcadda63e
    Merge 6e33f7942b into 2cca291773 Víctor Falcón 2026-07-19 13:06:39 +0000
  • 6e33f7942b test(transactions): update shared-flags and query-count baselines for splits split-transactions Víctor Falcón 2026-07-19 15:06:35 +0200
  • 18d61b8e77 test(transactions): rename split test helper to avoid a global collision Víctor Falcón 2026-07-19 14:59:55 +0200
  • 49fb62d94d fix(transactions): address split feature review findings Víctor Falcón 2026-07-19 14:49:18 +0200
  • 0b46fff3c2 feat(transactions): split a transaction across multiple categories Víctor Falcón 2026-07-19 14:28:10 +0200
  • 7de05c8064
    Merge 0e4501adbc into 2cca291773 Víctor Falcón 2026-07-18 17:38:09 +0000
  • 0e4501adbc perf(subscriptions): batch the price-experiment feature resolution price-experiment Víctor Falcón 2026-07-18 19:38:04 +0200
  • 2cca291773
    fix(pwa): keep mobile OAuth consent from being swallowed by the installed app (#701) main Víctor Falcón 2026-07-18 19:37:04 +0200
  • d3fd824a6a fix(pwa): keep mobile OAuth consent from being swallowed by the installed app Víctor Falcón 2026-07-18 19:30:36 +0200
  • 2dd89e609b fix(stats): drop redundant null-coalesce on a guaranteed array key Víctor Falcón 2026-07-18 19:29:27 +0200
  • 78545d314a fix(stats): withhold the Welch verdict below a small-sample floor Víctor Falcón 2026-07-18 19:25:19 +0200
  • f082e691fb feat(stats): surface revenue-map gaps in the price experiment report Víctor Falcón 2026-07-18 19:23:32 +0200
  • 5686617cf8 feat(stats): add an SRM check to the price experiment report Víctor Falcón 2026-07-18 19:19:03 +0200
  • 327e9b1d8b refactor(stats): fix PHPDoc placement and naming in the price funnel Víctor Falcón 2026-07-18 19:16:07 +0200
  • f7cee87a2a feat(stats): measure the price experiment funnel with a CM/user decision test Víctor Falcón 2026-07-18 18:40:37 +0200
  • 44c368120b feat(subscriptions): add A/B price experiment assignment and per-variant pricing Víctor Falcón 2026-07-18 18:34:26 +0200
  • 4c83cb8b33
    feat(import): persist per-account import configuration on the backend (#698) Víctor Falcón 2026-07-18 16:10:40 +0200
  • 2b2e4c4a87
    feat: reuse the upgrade modal at more upsell points and attribute revenue (#699) Víctor Falcón 2026-07-18 14:53:20 +0200
  • d008427c22 refactor: drop dead planKey prop, cross-link the upsell enum mirror Víctor Falcón 2026-07-18 13:32:02 +0200
  • 041b2147de feat: reuse the upgrade modal at more upsell points and attribute revenue Víctor Falcón 2026-07-18 13:23:54 +0200
  • 52aae3fd67
    feat: prompt free users to subscribe when enabling AI categorization (#696) Víctor Falcón 2026-07-18 14:45:56 +0200
  • 89174af4e6
    feat(transactions): add delete button to the transaction edit modal (#697) Víctor Falcón 2026-07-18 13:03:09 +0200
  • ceef9cf26f refactor(import): merge storage helpers, keep file preview off the network path Víctor Falcón 2026-07-18 13:00:33 +0200
  • f422bb4ce4 feat: prompt free users to subscribe when enabling AI categorization Víctor Falcón 2026-07-18 12:53:56 +0200
  • 1bac7b16a7 style(transactions): add dark-mode hover for modal delete button Víctor Falcón 2026-07-18 12:49:41 +0200
  • b6c759cfd6 feat(import): persist per-account import config on the backend Víctor Falcón 2026-07-18 12:49:17 +0200
  • 51c9784a27 feat(transactions): add delete button to the edit modal Víctor Falcón 2026-07-18 12:45:00 +0200
  • 7a100554a1
    Merge 72dff20e16 into 2d7e905ddd elnuage 2026-07-18 11:40:40 +0100
  • 2d7e905ddd
    feat(mcp): lead with Claude Desktop/ChatGPT connect steps, collapse tokens (#695) Víctor Falcón 2026-07-18 11:49:32 +0200
  • 6d45e01c3f feat(mcp): lead with Claude Desktop/ChatGPT connect steps, collapse tokens Víctor Falcón 2026-07-18 11:43:21 +0200
  • 5621e90879
    feat: streamline the subscription paywall and add a support escape hatch (#694) Víctor Falcón 2026-07-18 11:13:14 +0200
  • 83f915d725 Add a support button to the paywall when it can't be skipped Víctor Falcón 2026-07-18 08:35:22 +0200
  • eec0acfd63 Give the mobile paywall X a legible backing and dedup free-plan action Víctor Falcón 2026-07-18 08:13:58 +0200
  • 64f6a90d44 Update copies Víctor Falcón 2026-07-18 08:11:17 +0200
  • 57e61fdf9e Replace paywall free-plan button with a top-right X on mobile Víctor Falcón 2026-07-18 08:07:25 +0200
  • f4b5cfa2e9 Remove balance stat from subscription paywall Víctor Falcón 2026-07-18 08:02:42 +0200
  • 41ac3e90e1
    fix(mcp): keep Passport signing keys at 600 in production (#693) Víctor Falcón 2026-07-17 21:20:00 +0200
  • 804cf90954 fix(mcp): keep Passport signing keys at 600 in production Víctor Falcón 2026-07-17 21:08:46 +0200
  • 6d5f440727
    feat(mcp): add OAuth 2.1 for Claude Desktop & ChatGPT connectors (Phase 3) (#691) Víctor Falcón 2026-07-17 19:10:48 +0200
  • 5fa2f69c40 feat(mcp): allow write tools over OAuth connections Víctor Falcón 2026-07-17 18:56:48 +0200
  • 57de4e4063
    Merge 2472260ec8 into 5d7b655111 Víctor Falcón 2026-07-17 16:53:30 +0000
  • 2472260ec8 feat(ai): make AI categorization confidence threshold configurable ai-confidence-config Víctor Falcón 2026-07-17 18:43:58 +0200
  • e226d362ec polish(mcp): honest consent copy, a11y and settings wording Víctor Falcón 2026-07-17 18:26:05 +0200
  • aa6a604be0 chore(mcp): provision Passport signing keys everywhere Víctor Falcón 2026-07-17 18:26:05 +0200
  • 5fa59e61d3 harden(mcp): enforce OAuth read-only server-side, not via scope Víctor Falcón 2026-07-17 18:26:05 +0200
  • 15d70d2db9 fix(mcp): return a Response from the consent view closure Víctor Falcón 2026-07-17 18:03:28 +0200
  • fb877faa0e test(mcp): cover the OAuth 2.1 auth boundary Víctor Falcón 2026-07-17 18:01:03 +0200
  • 5e06569615 fix(mcp): use UUID columns for Passport user references Víctor Falcón 2026-07-17 18:01:03 +0200
  • a1b730f335 feat(mcp): show OAuth connect instructions in settings Víctor Falcón 2026-07-17 17:51:58 +0200
  • 2330fdf98c feat(mcp): on-brand OAuth consent screen Víctor Falcón 2026-07-17 17:50:46 +0200
  • 2627ec26fa feat(mcp): expose an OAuth-authenticated /mcp/oauth endpoint Víctor Falcón 2026-07-17 17:46:40 +0200
  • b0e90dc271 feat(mcp): install Passport 13 and add the api guard Víctor Falcón 2026-07-17 17:45:36 +0200
  • 5d7b655111
    feat(mcp): add write tools (Phase 2) (#690) Víctor Falcón 2026-07-17 17:25:03 +0200
  • 96a7ad157e fix(mcp): align the token scope select with the name input and button Víctor Falcón 2026-07-17 17:18:31 +0200
  • 8fed5851bc test(mcp): cover write tools, guardrails and token scope Víctor Falcón 2026-07-17 16:36:45 +0200
  • 575e7a148d feat(mcp): re-add the read/read-write token scope selector Víctor Falcón 2026-07-17 16:30:24 +0200
  • be4f363e9e feat(mcp): add write tools behind the mcp:write ability Víctor Falcón 2026-07-17 16:28:29 +0200
  • fb1adfc484
    feat(mcp): read-only MCP server for Pro accounts (#689) Víctor Falcón 2026-07-17 16:54:15 +0200
  • 1f4fa123c5 fix: include mcp feature flag in InertiaSharedDataTest shared-props assertion Víctor Falcón 2026-07-17 16:47:01 +0200
  • 5eafc52994 feat(mcp): gate the AI Connector behind a feature flag; polish UI and copy Víctor Falcón 2026-07-17 16:40:25 +0200
  • bf40ecb708 fix(mcp): prettier formatting and numeric token id type on the settings page Víctor Falcón 2026-07-17 15:44:35 +0200
  • 4e6be10885 fix(mcp): satisfy larastan (level 5) Víctor Falcón 2026-07-17 15:42:18 +0200
  • de5fc229d5 test(mcp): cover the HTTP endpoint auth boundary Víctor Falcón 2026-07-17 15:35:13 +0200
  • fcf5e6e46f refactor(mcp): address review feedback Víctor Falcón 2026-07-17 15:32:10 +0200
  • 14ab73dcfb feat(mcp): add read-only MCP server for Pro accounts Víctor Falcón 2026-07-17 15:17:40 +0200
  • 782ec2f2e9
    feat(currencies): add Hong Kong Dollar (HKD) (#688) Víctor Falcón 2026-07-17 13:46:21 +0200
  • b233155f0e feat(currencies): add Hong Kong Dollar (HKD) Víctor Falcón 2026-07-17 13:34:14 +0200
  • 4cd7619791
    feat(encryption): report count of users still holding encrypted data (#687) Víctor Falcón 2026-07-17 11:29:33 +0200
  • afd09eab87 feat(encryption): always report count of non-deleted users with encrypted data Víctor Falcón 2026-07-17 11:23:32 +0200
  • 17ddbbf821 test(encryption): cover trialing, past_due and grace branches for notify-removal fix/delete-accounts-billing-guard-flag-independent Víctor Falcón 2026-07-17 11:08:27 +0200
  • 09076684a4 refactor(billing): single source of truth for the billed-user check Víctor Falcón 2026-07-17 10:34:39 +0200
  • f140f5c785 fix(encryption): guard billed users independently of the subscriptions flag Víctor Falcón 2026-07-17 10:25:31 +0200
  • 808d41eee2
    feat(currencies): add Guatemalan Quetzal (GTQ) (#685) Víctor Falcón 2026-07-16 17:23:37 +0200
  • e115822033 feat(currencies): add Guatemalan Quetzal (GTQ) Víctor Falcón 2026-07-16 17:12:01 +0200
  • 7aa32dab0f
    feat(currencies): add Swedish Krona (SEK) (#684) Víctor Falcón 2026-07-16 16:25:33 +0200
  • 198d0262e2 feat(currencies): add Swedish Krona (SEK) Víctor Falcón 2026-07-16 16:19:31 +0200
  • 74b6e4817f
    Merge d76b98c837 into a873582191 Víctor Falcón 2026-07-16 14:43:09 +0200
  • a873582191
    feat(transactions): allow editing all fields of manual transactions (#683) Víctor Falcón 2026-07-16 08:59:10 +0200
  • 957ad76594 fix(transactions): annotate Transaction::$source enum type for static analysis Víctor Falcón 2026-07-16 08:51:00 +0200
  • e40c09d2b9 Merge remote-tracking branch 'origin/main' into edit-manual-transactions Víctor Falcón 2026-07-16 08:48:03 +0200
  • 148aee0b63 feat(transactions): allow editing all fields of manual transactions Víctor Falcón 2026-07-16 08:38:56 +0200
  • 9312d24f93
    fix(balances): propagate retroactive transaction changes to later balances (#682) Víctor Falcón 2026-07-16 08:38:02 +0200
  • ec509676ed fix(accounts): vertically center rows in the balance history modal Víctor Falcón 2026-07-16 08:28:15 +0200
  • 5ee2892db4 fix(balances): propagate retroactive transaction changes to later balances Víctor Falcón 2026-07-16 08:02:29 +0200
  • c7719fe5ad
    docs: document adding a new currency (#681) Víctor Falcón 2026-07-15 14:32:18 +0200
  • 1c36691253 docs: document adding a new currency Víctor Falcón 2026-07-15 14:26:29 +0200
  • 6490729fcc
    refactor: extract duplicated money formatter into App\Support\Money (#680) Víctor Falcón 2026-07-15 09:47:53 +0200
  • 5a14d1e606 refactor: extract duplicated money formatter into App\Support\Money Víctor Falcón 2026-07-15 09:21:09 +0200
  • 3db03de86d
    fix(stats): correct the trial/pricing experiment funnel report (#679) Víctor Falcón 2026-07-15 09:17:32 +0200
  • 013a237242 refactor(stats): extract statistical inference into a Services/Stats service Víctor Falcón 2026-07-15 09:04:50 +0200
  • d763a5b476 fix(stats): decide significance with Fisher exact, not the normal-approx z Víctor Falcón 2026-07-15 08:48:47 +0200
  • d7963736d1
    fix(banking): treat EnableBanking upstream 5xx as transient, not reportable (#678) Víctor Falcón 2026-07-15 08:40:55 +0200
  • d35bc07c05 fix(banking): treat EnableBanking upstream 5xx as transient, not reportable Víctor Falcón 2026-07-15 08:35:02 +0200
  • f7a83788ea test(stats): assert full command output and keep rates as float Víctor Falcón 2026-07-15 08:08:03 +0200
  • c00069f208 feat(stats): add confidence intervals and a significance verdict Víctor Falcón 2026-07-15 08:00:57 +0200
  • a0a07090c3 fix(stats): measure conversion as ever-charged, not active-now Víctor Falcón 2026-07-15 07:52:48 +0200
  • a6024d35ee fix(stats): count only revenue-less users as connection burn Víctor Falcón 2026-07-15 07:46:13 +0200
  • af03a179af fix(stats): attribute the funnel by deterministic bucket, not resolved flag Víctor Falcón 2026-07-15 07:44:31 +0200
  • 2eab6f2a76 fix(stats): resolve MRR for subscriptions on rotated Stripe price ids Víctor Falcón 2026-07-15 07:42:35 +0200
  • b8e1f9c2d8 fix(stats): count soft-deleted users in the experiment funnel Víctor Falcón 2026-07-15 07:40:18 +0200