whisper-money/app
Víctor Falcón 057e78c3eb refactor(accounts): centralize the "has transaction ledger" rule and stabilize pagination
Follow-up to the backend migration, addressing review feedback.

- Replace the inline non-transactional type list in AccountController@show with
  a purpose-named AccountType::hasTransactionLedger(). This gives the backend a
  single named concept that mirrors the frontend isTransactionalAccount, and its
  docblock spells out why it differs from the existing isNonTransactional()
  (which excludes loan) so a future change won't reach for the wrong method.
- Add an `id` tiebreak to the account_id-filtered index ordering so
  simplePaginate produces a deterministic order for same-day transactions,
  matching AccountController@show.
- Cover the per_page lower clamp and cross-user account scoping with tests.
2026-07-03 16:02:31 +02:00
..
Actions feat(subscriptions): trial/pricing A/B/C experiment (#600) 2026-06-27 18:00:15 +02:00
Ai/Agents feat(ai): auto-categorize transactions with AI (behind flag) (#535) 2026-06-15 16:35:20 +02:00
Console/Commands fix: skip demo reset when demo account is disabled (#626) 2026-07-03 07:27:43 +00:00
Contracts feat(connections): manage which accounts a bank connection syncs (#558) 2026-06-18 16:22:49 +02:00
Enums refactor(accounts): centralize the "has transaction ledger" rule and stabilize pagination 2026-07-03 16:02:31 +02:00
Events Add Budgeting Feature to Track and Manage Spending (#36) 2026-01-21 15:25:50 +01:00
Exceptions/Banking fix(banking): skip inaccessible EnableBanking accounts instead of failing the connection (#559) 2026-06-19 08:59:05 +02:00
Features refactor(ai): remove AiConsentSettings feature flag (#619) 2026-07-01 09:47:55 +02:00
Http refactor(accounts): centralize the "has transaction ledger" rule and stabilize pagination 2026-07-03 16:02:31 +02:00
Jobs fix(banking): only log sync failures once the connection gives up (#603) 2026-06-27 16:04:36 +00:00
Listeners fix: stop double-dispatching transaction listeners (N+1 insert into jobs) (#620) 2026-07-02 13:26:45 +00:00
Mail feat(email): follow up after post-onboarding AI consent (#596) 2026-06-26 17:56:06 +00:00
Models feat(ai): dismissable AI consent banner that stops after the first decision (#617) 2026-07-01 07:26:36 +00:00
Notifications fix: verify email via signed link without requiring login (#490) 2026-06-05 10:01:32 +02:00
Policies refactor(policies): extract HandlesUserOwnership trait (#478) 2026-06-03 17:43:30 +02:00
Providers fix: stop double-dispatching transaction listeners (N+1 insert into jobs) (#620) 2026-07-02 13:26:45 +00:00
Rules feat: parent/child category tree (#474) 2026-06-03 19:30:12 +02:00
Services perf(ai): reduce N+1 in bulk category updates (PHP-LARAVEL-40, partial) (#624) 2026-07-03 07:52:19 +02:00