mirror of
https://github.com/azaion/ui.git
synced 2026-06-21 11:41:11 +00:00
bd2b718ddf
- AZ-463 flight selection persistence (FT-P-16) + rehydration
on boot (FT-P-17) PASS at the wire; 100-cycle leak guard
(NFT-RES-LIM-07) and 1h SSE soak (NFT-RES-LIM-06)
scaffolded as RUN_LONG_RUNNING-gated e2e companions.
- AZ-469 browser-support smoke (FT-P-34) runs in both
Chromium and Firefox via the existing playwright config;
responsive variants (FT-P-35 480px / FT-P-36 1024px) PASS
in fast (Tailwind class shape) and e2e (visibility).
- AZ-476 upload 501 MB -> 413: AC-1 user-visible error is
drift today (uploadFiles silently falls through to local
mode); it.fails() + control + e2e test.fail. AC-2 no-alert
PASS via dialog spy.
- AZ-477 settings save 500 / network drop: AC-1+AC-2+AC-3
all drift today (no try/finally, no error region, deadline
unmeasurable); 4 it.fails() + control pinning the stuck-
disabled drift; e2e companions test.fail mirror it.
- LESSONS.md seeded: vi.stubGlobal('URL', {...URL,...})
destroys the URL constructor and breaks new URL(...) in
MSW; patch the methods directly instead.
Code review: PASS (0 findings). Fast: 22/22 files, 120
passed / 13 skipped. Static: 24/24 PASS.
Co-authored-by: Cursor <cursoragent@cursor.com>
860 B
860 B
Lessons
Short, actionable retros from past sessions. Newest at top. Each entry: one
line title + ≤6 lines body. The autodev orchestrator surfaces the top 3
entries on every invocation.
2026-05-11 — Don't replace URL via vi.stubGlobal('URL', { ...URL, ... })
When stubbing URL.createObjectURL / URL.revokeObjectURL for a JSDOM-backed
test, patch the methods on the constructor directly. Never do
vi.stubGlobal('URL', { ...URL, createObjectURL }) — the spread copies only
own enumerable properties of the URL function object, not its prototype, so
the global URL becomes a plain object. new URL(...) then throws / returns
garbage in MSW handlers and the SPA's API helper, and the test silently sees
"no fetch was made" instead of the real failure. Pattern in
tests/upload_size_cap.test.tsx is the canonical fix.