- Wait for both .tl-container and .tl-canvas before interacting - Add explicit waitFor in createShape and drawLine helpers - Increase wait times for sync operations in CI - Add retries for flaky offline tests
- Add Vitest for unit tests with jsdom environment - Add Playwright for E2E browser testing - Create 27 unit tests for WebCrypto and IndexedDB - Create 27 E2E tests covering: - Real-time collaboration (CRDT sync) - Offline storage and cold reload - CryptID authentication flows - Add CI/CD workflow with coverage gates - Configure test scripts in package.json Test Results: - Unit tests: 27 passed - E2E tests: 26 passed, 1 flaky 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>