No description
Find a file
justin 5546c58bf0 fix(intake): repair order wizard — checkout was fully broken on trucking/HC
Diagnosed via live browser E2E why campaign clicks (25 checkout-page-views,
36h) produced 0 conversions. Four bugs, all blocking checkout:

1. DOTIntakeStep: a missing `});` (DFWP hydration block, commit 9718ab9
   Jun 2) left the pw:step-shown listener unclosed -> 'missing ) after
   argument list' SYNTAX ERROR killed the whole DOT intake script. Effect:
   ?dot= prefill silently failed for ~3 weeks (exactly the campaign window),
   so every carrier had to re-type all their details.

2. ReviewStep: service slug read from `.pw-step[data-slug]` (first match),
   which on trucking/HC is the INTAKE step's slug ('dot-intake'/'npi-intake'),
   not the order. The cold-visitor order-create POST sent
   service_slug='dot-intake' -> API 501/400 -> 'Could not validate order',
   blocking checkout at the review step on EVERY multi-step vertical. Now
   reads `.pw-wizard[data-service]` (authoritative). Confirmed against prod:
   bad slug=400, correct slug=201.

3. Shared-bundle null derefs: every step's <script> is bundled onto every
   order page, so steps whose anchor element is absent threw at top level and
   could abort siblings:
     - ClassificationWizard: top-level renderQuestion(0) -> appendChild on
       null (errored on 47/67 order pages)
     - BDCDataStep: (querySelector as HTMLElement).getAttribute on null
     - STIRShakenStep / EarthStationStep: top-level addEventListener on null
     - ForeignQualStep: many top-level getElementById(...)! lookups
   Each now guarded to no-op when its step isn't present.

Verified by browser E2E: full flow dot-intake -> review -> payment ->
live Stripe Checkout session, and a 67-page scan now reports 0 JS errors
(was 47 pages erroring). Real human clicks are tracked via Umami; these
were pure functional breakages of the conversion path.
2026-06-23 13:08:41 -05:00
.claude/projects/-home-justin-projects-performancewest-new-site/memory Initial commit — Performance West telecom compliance platform 2026-04-27 06:54:22 -05:00
api mail: DMARC aggregate-report parser + dedicated dmarc@ mailbox ingestion 2026-06-19 08:50:20 -05:00
chrome-extension/fcc-access-helper Initial commit — Performance West telecom compliance platform 2026-04-27 06:54:22 -05:00
data fix(email): drop @TrackLink from per-subscriber CTAs (404 + collapse bug) 2026-06-22 17:01:39 -05:00
docs fix(email): drop @TrackLink from per-subscriber CTAs (404 + collapse bug) 2026-06-22 17:01:39 -05:00
docserver docserver: self-healing Task Scheduler config + docs 2026-06-15 22:49:21 -05:00
erpnext build: pin payments to version-15 + stage apps in deploy.sh erpnext 2026-06-02 23:13:01 -05:00
frappe_adyen Initial commit — Performance West telecom compliance platform 2026-04-27 06:54:22 -05:00
frappe_ca_registry Fix flagged items: CRTC email submission, BITS todo, selector docs, stale plans 2026-05-04 11:33:45 -05:00
frappe_crypto Initial commit — Performance West telecom compliance platform 2026-04-27 06:54:22 -05:00
infra mail(rampcap): step trucking cap back up to 400/h (day 19-20), 500/h ceiling 2026-06-22 12:49:54 -05:00
mcp Initial commit — Performance West telecom compliance platform 2026-04-27 06:54:22 -05:00
monitoring fix(monitoring): render alertmanager.yml from template at deploy (fixes crash loop) 2026-06-07 04:49:53 -05:00
node-compile-cache/v25.1.0-x64-392347a2-1000 Initial commit — Performance West telecom compliance platform 2026-04-27 06:54:22 -05:00
performancewest_erpnext fix(erpnext): self-heal outgoing Email Account password from SMTP_* env 2026-06-17 09:48:28 -05:00
scripts fix(email): drop @TrackLink from per-subscriber CTAs (404 + collapse bug) 2026-06-22 17:01:39 -05:00
site fix(intake): repair order wizard — checkout was fully broken on trucking/HC 2026-06-23 13:08:41 -05:00
src Initial commit — Performance West telecom compliance platform 2026-04-27 06:54:22 -05:00
test_screenshots Pivot CRTC offering on FCC carrier page for A-Z wholesale carriers 2026-06-02 13:26:39 -05:00
.gitignore gitignore: stray personal image 2026-06-10 12:35:56 -05:00
CLAUDE.md Update CLAUDE.md with complete deployment guide, infrastructure map, and key patterns 2026-04-28 02:54:44 -05:00
deploy.sh fix(deploy): hard-reset to origin/main + assert HEAD advanced (stop silent strands) 2026-06-16 09:25:11 -05:00
docker-compose.dev.override.yml dev: remap api(3002)/site(4323) ports in override to avoid prod collision on shared host 2026-06-05 23:07:22 -05:00
docker-compose.yml campaigns: MAIN_EXCLUDE_OPERATORS override + Gmail-only exclusion for post-DKIM re-send 2026-06-22 07:35:22 -05:00
extract-erpnext-assets.sh portal: serve /files/ (logo) from stable host path, fix recurring 403 2026-06-02 22:18:30 -05:00