stumason.dev
TypeScript
Pull Request Merged
PR #78 merged: feat: beehiiv newsletter + upgrade to Inertia v3
What & why
Two things in one PR (kept together per request):
๐ฌ beehiiv newsletter
- Signups now forward to beehiiv (v2 API) instead of the local double opt-in. beehiiv owns confirmation + unsubscribe; the form
sourcemaps toutm_sourcefor funnel tracking. - New
/newsletterlanding page and/newsletter/confirmedpost-confirm page (the latter is the Opt-in Redirect URL to set in beehiiv). Copy is placeholder โ to be filled in. - Removed the now-dead local
VerifySubscriptionmail + verify/unsubscribe routes.Subscribermodel + admin left in place (historical).
โฌ๏ธ Inertia v3 upgrade
@inertiajs/react+@inertiajs/vite^3.3,inertiajs/inertia-laravel^3.1,laravel/boost^2(plus transitive minor/patch bumps from-W).- Why now: a prior dependabot merge bumped only
@inertiajs/reactto v3 against a v2 backend, which broke dev rendering. This brings both halves to v3 (they must move together). - Kept
config/inertia.phpssr.enableddefaulting to false โ v3's republished config defaults it totrue, but this app runs SSR off (no SSR server), so leaving it true would risk the next deploy. - Fixed
RetroToolTestassertions forlaravel/mcp0.5.9's compact JSON output (data unchanged; assertions were whitespace-brittle).
Setup needed before merge takes effect
- Add
BEEHIIV_API_KEYto theprogressapp env in Coolify (already in local.env).
Verification
- โ Full suite: 455 passed / 2 skipped.
- โ
In-browser (Playwright): homepage,
/newsletter,/articles, and a service page render with zero console errors.
Follow-ups (not in this PR)
- Newsletter page copy (owner to write).
composer auditflags 3 advisories on transitive deps (amphp/http-serverDoS via Reverb,aws-sdk-php) โ separate.- Laravel 12 โ 13 upgrade โ next slice.
+1497
additions
-1562
deletions
26
files changed