Skip to content

v1.3.0 - Mobile adaptation & coach content tiers

Choose a tag to compare

@frank99-owl frank99-owl released this 11 Jun 07:42
· 23 commits to main since this release

Highlights

Mobile adaptation (phones < 768px)

The site is now genuinely usable on phones, while desktop rendering and interactions are intentionally byte-identical to v1.2.0:

  • Hamburger navigation menu — nav links were previously unreachable on phones
  • The Go board fits the viewport (was a fixed 520px overflowing 390px screens) and uses tap-to-place input with vertical scroll passthrough, so scroll gestures never drop stones
  • Mentors page renders as a scrollable stacked list instead of the desktop quincunx layout
  • Custom cursor is gated to fine-pointer devices; full-viewport sections use dvh; the board showcase is hidden below md (its fixed grid broke the entire mobile layout viewport)
  • Keyboard shortcut hints are hidden on touch-only devices

Coach content tier system

Four-tier content model (basic-explained → coach-eligible → coach-ready → variation-ready) replacing the single allowlist, with cross-validated data sources and an editing-batch workflow.

Operations & subscriptions

  • /api/admin/ops operations snapshot (content, coach usage, Stripe, webhook health) rendered in the admin UI
  • past_due Stripe subscriptions keep Pro through a 7-day grace window
  • Free trial shortened to 3 days
  • Static rendering for content pages (SSG + on-demand ISR), localized 404s

Fixes

  • CSRF origin check now falls back to the Host header — mutations from LAN/self-hosted setups no longer return 403
  • Board coordinate hint corrected to the 1-based (1,1) convention used by the board model and AI coach
  • Admin verify endpoint no longer discloses configuration state

Full details in CHANGELOG.md. 111 test files / 982 cases green; CI runs the full chain (audit, format, lint, content validation, typecheck, tests, build).