Repository navigation
Type-check e2e tsconfig and fix TS5107 under TS6 - #1453
Conversation
Drop the deprecated moduleResolution=node/CommonJS overrides so the e2e config inherits bundler resolution, and run it as part of `typecheck` so CI covers e2e/ and playwright.config.ts (#1452). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Client Test Results98 tests 98 ✅ 0s ⏱️ Results for commit 5b11549. ♻️ This comment has been updated with latest results. |
Client V3 Test Results216 tests 216 ✅ 0s ⏱️ Results for commit 5b11549. ♻️ This comment has been updated with latest results. |
Python Test Results 1 files 1 suites 1m 6s ⏱️ Results for commit 5b11549. ♻️ This comment has been updated with latest results. |
|
Playwright E2E Results (chromium)225 tests 225 ✅ 2m 26s ⏱️ Results for commit 5b11549. |
Playwright E2E Results (firefox)225 tests 225 ✅ 2m 20s ⏱️ Results for commit 5b11549. |
…-v3-p3-step2-lifecycle Brings in the pnpm migration (#1422), the #1419 fix itself (reconnect grace window, #1427), E2E port isolation (#1420), and the security/SRE hardening series (#1453-#1467, #1470). Only one textual conflict (client-v3/e2e/README.md — npm vs pnpm wording in the prerequisites list, plus a missing spec-15 row in the spec table, both resolved by hand); every server/client file this branch also touches (ws_controller.py, settings.py, script_room_manager.py, scriptConfig.ts, scriptDraft.ts, system.ts, ConfigScript.vue) merged cleanly with no overlap. Checked for compatibility with the ownership/grace-window rework rather than just trusting a clean merge: STOP_SCRIPT_EDIT and LEAVE_SCRIPT_ROOM still use get_room_for_client(self) against room.clients the same way, so the Step-2 review's Stop-Editing-ordering fix (STOP only, never LEAVE first) is still correct and necessary. REQUEST_SCRIPT_EDIT's collab-flag check and JOIN_SCRIPT_ROOM's role lookup now go through the new _owned_row() ownership check, which is transparent for a normally-authenticated single session (no client change needed). collaborative_script_editing is not a `sensitive` setting, so GET /api/v1/settings still exposes it to every authenticated user, not just admins - required for ConfigScript.vue's editor switch to work for non-admins. Since #1419 is now actually fixed, the Step-2 E2E reload test no longer pins the bug as a tripwire - it asserts the real desired behaviour instead (editor status and the same draft content survive a reload), matching the pattern dev's own #1427 used for the classic editor's equivalent test in spec 10. The corresponding code comment in CollabScriptEditor.vue is updated to match; no production logic changed, since the client-side reload path never needed a fix. Verified post-merge: backend 1270 passed (up from 934), ruff clean; client-v3 261 Vitest passed, tsc (both tsconfigs) clean, eslint clean, build clean; full Playwright suite green in both chromium and firefox (235/235 each, no retries). (Two purely-local environment snags along the way, unrelated to the merge content - recorded in memory: Node 24.20's own experimental Web Storage shadowing jsdom's in Vitest, and Homebrew's python3 shadowing pyenv's shim in the E2E harness's spawned server.) Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TjTnfchFvvQvKZUZv2jpT8



Summary
moduleResolution: node/module: CommonJSoverrides inclient-v3/tsconfig.e2e.json(TS5107 under TypeScript 6); it now inheritsbundlerresolution.pnpm run typechecknow also runstsc --noEmit -p tsconfig.e2e.json, so CI type-checkse2e/andplaywright.config.ts.client/has no e2e tsconfig, so it is unaffected.Refs #1452 (target is
dev, so the issue won't auto-close; close manually after merge).Test plan
npm run typecheckpasses locally inclient-v3/🤖 Generated with Claude Code