← Home

Changelog

v0.9.0
v0.9.02026-05-14
  • New routing mode: Priority + daily cap. Routes leads to the lowest-priority-number team that still has booking capacity, and falls back to the next team once the daily limit is hit.
  • Each team now has a Priority and a Daily booking limit (blank = no cap), editable from the Teams tab.
  • Capacity is measured by confirmed bookings (booking_completed events) for the current day — not pageviews or assignments.
v0.8.02026-05-14
  • Routing modes: choose between Least assigned (weighted-fair), Round robin, and Weighted random in the router Settings tab. Assignment logic now respects the selected mode.
v0.7.12026-05-14
  • Added a Settings tab on each router page so you can rename a router and toggle it active/inactive.
v0.7.02026-05-14
  • Added secure sign-in: dashboard, router config, report and changelog pages now require login. Public /embed and /book pages remain open.
  • Sign-in supports email/password and Google. Signups are invite-only and password breach (HIBP) checks are enabled.
  • Added a profiles table with auto-create on signup and RLS so users can only edit their own profile.
  • Added a Sign out button in the dashboard header.
v0.6.22026-05-14
  • Embed shows a spinner + 'Loading calendar…' overlay until the GHL iframe finishes loading, so visitors don't see a blank area during the initial load.
v0.6.12026-05-14
  • Removed the 'Open in new tab' link below the embedded calendar.
v0.6.02026-05-14
  • Embed loads ~3-5s faster: visitor id is now minted on the parent page and passed to the iframe via ?v=, so team assignment runs during SSR and the GHL calendar iframe is in the initial HTML — eliminates a full client round-trip before the calendar starts loading.
  • Added preconnect hints to GHL domains (api.leadconnectorhq.com, link.msgsndr.com) so the TLS handshake overlaps with the embed HTML response.
  • embed.js cache bumped from 5 minutes to 1 hour (24h on the edge).
v0.5.02026-05-14
  • Added Changelog page at /changelog — every future iteration gets a version bump and entry here.
  • Fixed 'Rendered more hooks' crash on the router detail page caused by hooks declared after early returns.
v0.4.02026-05-14
  • Booking tracking: embed page now listens for GHL postMessage events and fires booking_completed (heuristic match, logs raw payloads to console for refinement).
  • Embed iframe no longer shows an inner scrollbar — added GHL form_embed.js resize helper and forwards content height to the parent.
  • Embed and booking pages now identify visitors by anonymous visitor id (localStorage) instead of email — same visitor keeps the same calendar.
  • Router config: percentage allocation per team for weighted routing.