v3.6.3 8 February 2026 Fix Improvement
Early Access Live Counter & Pricing Fixes
Early Access Live Counter
- Homepage pricing section — Replaced static “first 50 users receive a 90-day free trial” text with live counter fetched from API (“49 of 50 early access spots remaining — 90-day free trial”)
- PricingCard API URL — Fixed incorrect
/api/v1/stats/early-access→/api/v1/early-access/stats - PricingCard response mapping — Fixed
totalSpots→totalfield mismatch and unwrapped{ success, data }response envelope
Early Access Query
- Accurate signup counting — Changed early access stats query from
COUNT(*) FROM organisationsto count only verified, non-admin users. Test and admin accounts no longer inflate the claimed count
API Fixes
- Public route auth bypass — Added
/api/v1/early-access/statstopublicAuthPathswith correct full path (was matching prefix only, returning 401) - Fastify 5 type fix —
decorateRequest('audit', null as any)for v5 reference type restriction
Hydration
- Homepage flash fix — Reverted PricingSection from
client:only="react"back toclient:loadto eliminate footer layout jump. No hydration mismatch because early access text renders from state (null on SSR, populated after fetch)