Files
Oleg Maslov 0c3e2ead3b
Some checks failed
Installer Smoke / installer-smoke (push) Has been cancelled
moving
2026-09-02 10:10:29 +02:00

3.8 KiB

PR7a Billing — Live Smoke (2026-06-24)

Branch feature/warm-hive-pr7a. Live-driven via chrome-devtools against a freshly-started dev stack: sidecar :3333 (tsx src/local/start.ts, TRIAL tier, Stripe NOT configured — no STRIPE_SECRET_KEY) + vite :8080 (proxies /api → 3333). Dark + light. 0 console errors throughout.

The Stripe-unconfigured dev env is the ideal condition to prove the F8 honest state end-to-end.

Verdict

PASS. Every adversarially-confirmed review fix verified against the running app. The smoke also caught a real regression the unit tests could not: finding #4's glow fix (a Tailwind class swap) still rendered box-shadow: none — a Tailwind v4 arbitrary-shadow gotcha. Fixed live to the proven inline-style pattern and re-verified.

What was verified (file:evidence)

Finding / behavior Expected (honest) Live result
D12 /settings?tab=billing deep-link snaps to Plan tab Plan tab aria-selected=true
#7 §14 subhead "Memory is free forever. You only pay for scale…" renders (dark + light)
#6 TRIAL "Current" trial ≠ purchasable plan → Solo NOT "Current"/"Your plan" tier=TRIAL → Solo shows "Included", no "Current" badge anywhere
#8 a11y honest aria-pressed toggle buttons (not a false radiogroup) Monthly/Annual are button[aria-pressed]; clicking flips pressed-state
#3 / F8 Stripe-not-configured upgrade CTAs disabled pre-click, not a 503 after probe GET /api/stripe/statusconfigured:false → Pro/Teams CTAs "Unavailable" disabled
#4 Pro "Most popular" glow honey glow on the focal card was none even after class swap → fixed to inline boxShadow:var(--shadow-honey) → renders rgba(233,165,44,.25) 0 0 0 1px, rgba(233,165,44,.35) 0 8px 30px -10px (dark + light) (fixed in smoke)
Annual toggle (D8/F9 display) price swaps to the real annual labels Monthly $19/$49 → Annual $15 / mo · billed yearly, $39 / seat · yearly
F5 /payment-success no-fabrication no completed checkout → honest, never a fake receipt headline "Nothing to confirm"; no "You're Pro", zero receipt rows (no Trial-ends / Emailed / Receipt / $19.00 / VISA / ···4242)
Console 0 errors/warnings clean on /settings?tab=billing (dark+light) and /payment-success

The regression the smoke caught (#4 glow)

shadow-[var(--shadow-honey)] (Tailwind v4 arbitrary class) computed to box-shadow: none on the Pro card — verified twice incl. a hard reload (ignoreCache). The sibling border-[var(--honey-line)] from the same class string DID apply, so it's specific to the arbitrary-shadow-with-CSS-var utility, not staleness. Injecting style.boxShadow='var(--shadow-honey)' resolved to the full glow, so the fix is the BenchmarkApp inline-style pattern (BenchmarkApp.tsx:367). Re-verified: glow renders in dark and light. (AskBar/ChatApp use focus-within:shadow-[var(--shadow-honey)] — unverified here, flagged as possibly the same latent gotcha; out of PR7a scope.)

Evidence

  • 01-billing-plans-dark-annual.png — dark, Annual selected: 3 cards, Pro glow, F8 "Unavailable" CTAs.
  • 02-billing-plans-light.png — light (warm paper rgb(247,241,228)): glow + tokens + F8 hold.

Not exercised (no honest data source in this env)

  • Paid Success ("You're Pro") + Manage Portal launchpad — needs a PRO/TEAMS tier + a real Stripe customer; covered by unit tests (pr7a-billing.test.tsx: synced-tier confirmation, success-race guard).
  • Enabled checkout CTAs / hosted-Checkout redirect — needs STRIPE_SECRET_KEY in the sidecar env; the disabled F8 path is the honest state here and was the one under test.