← Home

July 25, 2026 — Durable device unlock (no re-prompt every visit)

Path: _pwa-build/ · Pushed July 25, 2026 (site v1.0.33) · SW cache v77

Shipped in this commit

Key files

⚠ Need to do (carried from July 21 log + new)

From July 21 session — production deploy was still pending (CLI access privileges). Confirm or finish with the account that owns project fzpqenrqzptglpfboerq.

  1. SQL (if not done): Supabase Dashboard → SQL Editor → run full file _pwa-build/supabase/migrations/007_no_license_expiry.sql.
  2. Edge functions (if not done):
    cd C:\Users\Peter\Documents\consultation.web.site\_pwa-build
    supabase login
    supabase functions deploy validate-license --project-ref fzpqenrqzptglpfboerq
    supabase functions deploy recover-license --project-ref fzpqenrqzptglpfboerq
    supabase functions deploy renew-license --project-ref fzpqenrqzptglpfboerq
    supabase functions deploy create-checkout --project-ref fzpqenrqzptglpfboerq
    # Or: SUPABASE_ACCESS_TOKEN + scripts\deploy-functions.ps1 from repo root
  3. Smoke test (unlock persistence): unlock once → refresh / reopen app → no license gate; force old validatedAt → still open; Remove Key → gate returns; Settings shows This device after online unlock (or use Register this device).
  4. Smoke test (July 21 license product): Settings bar “does not expire”; renew free → norenewal when active; 6th device still blocked.
  5. Netlify: confirm site auto-deployed from this git push (or trigger deploy). Hard-refresh / reinstall PWA so SW v77 loads.
  6. New product work: main website should use the same licensing path as the PWA (replace members profile / subscribe gate with license unlock + durable flag) for one simple access model. Not in this commit — plan next.

Public changelog

← All sessions · App home