Highlights from each release sprint. For the full commit-by-commit feed see GitHub.
2026-04-28
Round 7 — assistive surfaces, search suggest, status
- · Real /help FAQ accordion with searchable Q&A across 6 categories
- · Live /status page that pings each subsystem with latency + state
- · Hero search autocomplete via /api/search/suggest (semantic embeddings)
- · Onboarding hard gates + retry on save failure (no more silent skips)
- · Role-aware empty states: sessions / bookings / saved with assistive CTAs
- · /dashboard/getting-started progress checklist with auto-tick milestones
- · /places/[category]/[city] dead-end recovery (alt cities + alt categories)
- · Lazy-loaded LiveKit on dashboard bookings (~150KB saved on cold load)
- · RealtimeRefresh sync pip indicator
- · Shared <InFlightButton> for consistent submit feedback
- · Inline form validation hook (useZodFieldErrors)
- · Context-aware error pages with route-scoped recovery actions
- · <InfoIcon> tooltip primitive for non-obvious form fields
- · Studio cold-start multi-step boot progress
- · Semantic search keyword fallback when embeddings under-return
2026-04-28
Round 6 — trust, realtime, engagement
- · App-launch waitlist replaces dead App Store / Play Store badges
- · Footer legal links wired to real /legal/* pages
- · Modal focus-trap + restored focus on close
- · Sentry DSN validation + per-user setUser context
- · Postgres token-bucket rate limiter on share / upload / forgot-password
- · Realtime refresh wired to sessions / bookings / messages dashboards
- · Saved-search matches mirror to in-app notifications
- · Badge unlock celebratory toast on user_badges INSERT
- · Chat thread pinned-to-bottom detection + "↓ N new" pill
- · Notifications bell pulse animation + "view all" footer
- · Hero live-event pulse strip when liveEvents > 0
- · For-venue-owners pricing tier strip (Free / Pro / Premium)
- · New /dashboard/{notifications,settings} pages
- · New /dashboard/admin/audit-log surface
- · Mobile sidebar drawer for the dashboard layout
- · WCAG-AA contrast bump on --muted
2026-04-28
Round 5 — booking detail, disputes UI, SEO
- · New /dashboard/bookings/[id] with refund timeline + .ics export + dispute entry
- · Disputes UI: file, withdraw, view conversation, admin resolution flow
- · SEO: per-route metadata, OG/Twitter image, JSON-LD, favicon
- · Cancellation policy + vacation banner now visible on provider pages
- · Recently viewed strip on /discover
- · LiveKit + Checkr webhook idempotency
- · Account soft-delete now reapable via cron
2026-04-27
Round 4 — disputes, itineraries, in-app calls
- · Dispute primitive (table, RLS, resolution state machine)
- · Itinerary builder with shareable public links
- · In-app voice calls between booking parties via LiveKit
- · Story view tracking, read receipts, typing indicators
- · CMD+K command palette anywhere
- · Side-by-side compare for providers + venues
2026-04-25
Round 3 — trust & safety
- · Age gate (18+ baseline; 21+ for alcohol delivery)
- · Email-verified gate on public listings
- · Multi-currency Stripe
- · Account soft-delete + GDPR data export
- · DMCA takedown form + report categories
- · Block-aware filters in messaging and discovery