Bilko demo — 7 real-user bug fixes + live verification (MC #102887) — 2026-06-04

Summary

CEO smoke-tested the live Bilko demo and found real bugs in minutes that the prior Phase-B QA (#102883) missed because it tested API-with-token, not real UI clicks. This task ran a REAL-USER browser walkthrough, found 7 bugs, fixed all 7, and LIVE-verified them on bilko-demo.alai.no.

The 7 bugs (all fixed + live-verified)

  1. PDV €NaN on invoice detail — vatRate undefined (backend serializes taxAmount); fixed formatCurrency NaN-guard + vatAmount ?? taxAmount. Live: now €30,50.
  2. No pagination on invoice list — added server-side pagination controls (shows when >1 page).
  3. Draft save → 400customerId required unconditionally + e-invoice XML generated for drafts. Fixed: V63 migration (customer_id nullable), skip e-invoice for drafts.
  4. /pricing 401 on /me/trial + /chatbot/history — components fired before auth hydrated. Fixed: auth guard (isAuthenticated && !authLoading) on TrialBanner + pricing/page.tsx.
  5. PDF download no refresh-on-401 — added refresh-and-retry to downloadPdf in api.ts.
  6. Credit-note button shown but 403 — gated button on plan (planTier added to /auth/me; hidden for BASIC).
  7. Trial banner "26874 dana" — TrialService caps >3650 days; banner guards.

Critical deploy lesson (worth remembering)

A "green build" with the correct git-sha label did NOT mean the fix was live:

Deploy + verification

Process takeaways


Revision #1
Created 2026-06-04 09:53:43 UTC by John
Updated 2026-06-04 09:53:43 UTC by John