July 21, 2026 — Numpad, Electrical, Help, Non-Expiring Licenses
Shipped in this commit
- Numpad: click-through shield after ↵; RefCalc bottom Help removed.
- Electrical: plain-text results; no Code notes; first-visit disclaimer (don’t show again); Settings-only theme toggle.
- Help:
app/help/helpindex.htm+ per-step topics for Electrical, RefCalc, Air Flow, Sizing. - Home: HVAC Lens offline-first blurb for mechanics/apprentices.
- License (code): no-expiry migration + edge/client updates; renew refresh +
norenewal.htm.
⚠ Do tomorrow (July 22) — production deploy
CLI link failed today with access privileges error. Finish with the account that owns project fzpqenrqzptglpfboerq.
- SQL: Supabase Dashboard → SQL Editor → run full file
_pwa-build/supabase/migrations/007_no_license_expiry.sql(backfill never-expire, update claim/renew/register functions, no-op mark_expired). - Edge functions (owner account / working token):
cd C:\Users\Peter\Documents\consultation.web.site\_pwa-build supabase login supabase projects list 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: set SUPABASE_ACCESS_TOKEN and run ..\scripts\deploy-functions.ps1 from repo root
Shared email template is deployed with functions that import it — redeploy any function that sends license email if needed (claim-free-license, renew-license, stripe paths). - Do not paste access tokens into chat — use terminal only.
- Smoke test: unlock with existing key; Settings license bar “does not expire”; clear cache → re-enter key; Settings → Renew license free (active → norenewal; refresh form still works); 6th device still blocked.
- Netlify: confirm site auto-deployed from this git push (or trigger deploy).