fix: E2E test fixes and host resilience improvements (#206)

1. video-resource-server: Add missing server-utils.ts and fix import path
   - Was importing from non-existent ../shared/server-utils.js
   - Now correctly imports from ./src/server-utils.js

2. basic-host: Be resilient to individual server connection failures
   - Use Promise.allSettled instead of Promise.all
   - Failed connections are logged as warnings but don't crash the UI
   - Only throws if ALL servers fail to connect

3. threejs-server: Add id to canvas for reliable screenshot masking
   - Added id="threejs-canvas" to the canvas element
   - Updated e2e test masks to use #threejs-canvas and .threejs-container
   - Fixes flaky Three.js screenshot comparisons in CI

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
Olivier Chafik 2026-01-09 00:30:49 +00:00 • committed by GitHub
commit 7eb98ad121
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -188,6 +188,7 @@ export default function ThreeJSApp({
style={containerStyle}
>
<canvas
id="threejs-canvas"
ref={canvasRef}
style={{
width: "100%",