trypost/app/Http/Middleware/App
Paulo Castellano 8e334cd676 Keep past_due subscribers in-app instead of forcing re-subscribe
A past_due subscription made subscribed() return false (Cashier default),
so EnsureAccountReady redirected to /subscribe — which starts a brand-new
checkout and creates a second subscription. Past-due users already have a
subscription; they only need to update their payment method.

Enable Cashier::keepPastDueSubscriptionsActive() so past_due counts as
active and users keep navigating. Surface a past-due notice in the sidebar
footer linking to the Stripe billing portal (not /subscribe). Both trial
modes (subscription trial / generic trial) are unaffected.
2026-06-14 15:46:17 -03:00
..
EnsureAccountReady.php feat(billing): make trial card requirement configurable 2026-05-21 10:02:38 -03:00
EnsureRegistrationEnabled.php feat(auth): self-hosted registration gate + admin seeder (closes #46) 2026-05-19 11:45:16 -03:00
HandleInertiaRequests.php Keep past_due subscribers in-app instead of forcing re-subscribe 2026-06-14 15:46:17 -03:00
SetLocale.php refactor: auth split layout, subscribe redesign, onboarding, i18n, cookie locale 2026-03-30 11:53:42 -03:00