* migrate: complete Cypress to Playwright E2E test migration
- Convert all 19 Cypress tests to Playwright with full visual coverage
- Add Playwright configuration matching Cypress viewport (1200x800)
- Update package scripts: pnpm pw, pw:ui, pw:update, pw:install, pw:smoke
- Fix editable-label interaction tests with proper focus management
- Generate visual comparison website for screenshot validation
- Update CLAUDE.md documentation with new Playwright commands
Visual analysis shows Fragment test has 4.02% difference requiring review.
All other tests show acceptable <3% variance typical for framework migration.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* cleanup: remove Cypress tests and update CI to use Playwright
- Remove entire cypress/ directory with all test files and snapshots
- Remove cypress.config.ts and Cypress dependencies from package.json
- Update GitHub Actions workflow to use Playwright instead of Cypress
- Configure Playwright for proper CI execution with GitHub reporter
- Keep cy/ HTML test files that Playwright tests still reference
- Clean up gitignore and documentation for Playwright-only setup
Migration from Cypress to Playwright now complete with full cleanup.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* fix: resolve CI port conflict by letting Playwright manage server startup
- Update playwright.config.ts to use 'pnpm preview' instead of 'pnpm dev'
- Remove manual server startup from GitHub Actions workflow
- Let Playwright's webServer handle the server lifecycle in CI
- Add timeout configuration for server startup
Fixes port 8080 conflict where both manual and Playwright servers tried to start.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: add workflow to generate Linux snapshots for CI
- Add update-snapshots.yml workflow for generating Linux-specific snapshots
- Add pw:update-ci script for CI snapshot generation with GitHub reporter
- Create manual dispatch workflow to generate chromium-linux snapshots
- Fix platform mismatch between local macOS and CI Linux environments
This resolves snapshot mismatches where CI expects chromium-linux but
local development generates chromium-darwin snapshots.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* chore: update Playwright snapshots for Linux CI
Generated Linux-specific snapshots for chromium-linux platform.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* fix: improve editable-label test stability for CI environment
- Add wait for edit mode activation before interactions
- Add wait for edit completion after pressing Enter
- Increase timeout for visibility assertions to 10 seconds
- Handle timing differences between local and CI environments
Resolves timeout issues in Linux CI where editable interactions
are slower than on local macOS development environment.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* chore: exclude node_modules and tests from vitest
---------
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>