5 Commits
Author SHA1 Message Date
ahmed mohammedandClaude Opus 4.7 4b5c19b5d2 fix: decode .sqlplan files the way SSMS writes them; name the parse failure
- lib/plan-file.ts: BOM-aware decode for UTF-8, UTF-16LE/BE (with and without BOM) and UTF-32, with a NUL-density fallback for BOM-less UTF-16. The browser had a two-byte FF FE sniff only, so a UTF-16BE or BOM-less plan arrived as NUL-filled junk and the digest blamed the export.
- digestPlan now quotes fast-xml-parser's first line instead of a fixed sentence, so a truncated file, a stray entity and a wrong file stay distinguishable.
- plan-file.ts holds the decode so the XML parser stays out of the client bundle.
- tests: 6 encodings round-trip through decodePlan into a digest; a truncated plan's message is asserted to carry a reason; e2e drops a real UTF-16LE file. 36 unit, 23 e2e.
- history.spec picked the rail's first row, which is now one of the new failing-input rows; it selects the newest finished run instead.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-09-22 11:08:55 +03:00
ahmed mohammedandClaude Opus 4.7 07dd3d6bf8 test: playwright end-to-end qa (17 tests, real models)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-09-22 09:02:53 +03:00
ahmed mohammedandClaude Opus 4.7 ee4a88e499 chore: dev dep @playwright/test
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-09-22 08:32:40 +03:00
ahmed mohammedandClaude Opus 4.7 1c3f222f9d feat: setup wizard + settings
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-09-22 07:36:55 +03:00
ahmed mohammedandClaude Opus 4.7 5f8746cfae feat: email+password auth with db-backed sessions
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-09-22 07:32:07 +03:00