- Add wait for loading state completion before interaction in task.spec.ts
- Fix 'Should be created new' test by waiting for .is-loading removal
- Fix 'Inserts new tasks at the top of the project' test similarly
- Add pointer-events none check to ensure elements are interactive
- These changes address the CypressError where elements have CSS pointer-events: none
- Update PLAN.md and TODO.md with current session analysis and priorities
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add missing task loading API intercepts to project-view-gantt.spec.ts (8 tests)
- Add missing API intercepts to project-history.spec.ts (7 project visits)
- Add missing API intercepts to filter-persistence.spec.ts (4 tests)
- Ensure all task loading endpoints are covered:
- **/api/v1/projects/*/views/*/tasks** (when viewId provided)
- **/api/v1/projects/*/tasks** (fallback when viewId missing)
- **/api/v1/tasks/all** (when projectId is null/undefined)
- All tests now wait for API responses with 30s timeout
- Intercepts set BEFORE navigation to prevent timing issues
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix Link Share tests timing issues by adding proper wait conditions and visibility checks
- Fix Table View tests by adding API intercepts and improving element selection
- Add .should('be.visible') checks to prevent race conditions
- Use more specific selectors like 'table.table tbody' for better reliability
- Ensure tests wait for redirects and content loading before assertions
These changes should resolve the timeout issues that were causing CI jobs to hang
for 20+ minutes by ensuring proper synchronization between test steps.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Major progress achieved in E2E test stabilization:
- Team management tests (5/5) now passing completely locally
- Fixed UI interaction and stability issues from previous commits
- Project-related tests still experiencing timeouts (under investigation)
- All lint, typecheck, and unit tests (690/690) passing
- Both backend and frontend servers responding correctly
Next: Investigate project view timeouts and infinite loops
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Team test: Added .should('be.visible') before clicking 'Create a team' button
- Overview tests: Added existence and length checks before iterating over task elements
- These changes should reduce timing-related failures where elements exist but aren't fully loaded
- Follows Cypress best practices for element interaction and assertions
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Most critical E2E tests now passing (project creation, team creation, login)
- Button visibility issues resolved
- Navigation and authentication flows stable
- Only 2 specific tests still failing (timing-related TaskFactory issues)
- All static analysis passing: ESLint, TypeScript, 690/690 unit tests
- Represents dramatic improvement from previous broken state
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- E2E test failures reduced from 4/4 groups to 2/4 groups
- Total test failures reduced from dozens to only 9 tests
- Groups 1 & 2 are running successfully in current CI run
- Represents major improvement in test stability
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Replace all unsafe parseInt() and Number() calls in router with getRouteParamAsNumber()
utility function. This prevents undefined/null route parameters from being converted to
NaN, which would then become "undefined" in API URLs, causing E2E test failures.
Affected routes:
- All project-related routes (/projects/:projectId, /projects/:projectId/:viewId)
- Task detail routes (/tasks/:id)
- Project creation and settings routes
This ensures consistent parameter validation across all routes and prevents
malformed API requests that cause tests to fail.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix TaskCollectionService to properly validate null projectId parameter
- Prevent null projectId from being used in TaskCollection service calls
- Add null check in task store to use TaskService when projectId is null/0
- Resolves 400 errors from /api/v1/projects/undefined/tasks requests
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>