- Document root cause of API intercept timeout failures
- Explain sequential fallback pattern solution
- Update mission status with latest achievements
- Record expected impact of timeout logic fixes
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fixed loadAllTasks and loadTasks intercept logic to wait for either request (not both)
- Changed cy.wait(['@loadTasks', '@loadAllTasks']) to proper fallback pattern
- Added timeout for loadBuckets intercept in project redirect test
- Reduced timeouts to 10s for faster failure feedback and prevent CI hangs
The root issue was tests waiting for multiple API calls when only one would ever occur.
This caused cy.wait() to timeout as it waited indefinitely for requests that would never happen.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Reduce individual API wait timeouts from 30s to 15s to prevent long hangs
- Add project loading intercepts to improve synchronization
- Reduce global Cypress timeouts to fail faster instead of hanging
- Apply improved error handling in task overview and subtask tests
- Update timeout values in cypress.config.ts for better CI performance
This should prevent tests from timing out at GitHub Actions 25min limit.
- Document enhanced API intercept patterns with specific HTTP methods and full paths
- Record timeout optimizations and improved synchronization strategies
- Detail specific fixes for task/overview.spec.ts and task/subtask-duplicates.spec.ts
- Update status to reflect additional improvements beyond the initial 70% success
These documentation updates reflect the ongoing effort to improve E2E test
reliability through better API intercept patterns and enhanced wait conditions.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Replace inconsistent Cypress.env('API_URL') + path patterns with wildcard
patterns (**/path) for improved reliability in CI environments.
Issues addressed:
- API intercept timeouts for loadTasks and loadBuckets routes
- Inconsistent URL matching causing cy.wait() failures
- Environment variable dependency reducing test reliability
Changes made:
- project-view-table.spec.ts: All 3 tests now use wildcard patterns
- project-view-list.spec.ts: Updated static and dynamic project patterns
- project-view-kanban.spec.ts: Standardized 3 loadTasks intercepts
- project.spec.ts: Fixed loadBuckets wildcard pattern
- task/overview.spec.ts: Updated dynamic project ID patterns
Expected impact: Reduced E2E test timeout failures in CI environment.
All lint, typecheck, and unit tests (690/690) continue to pass.
🤖 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>
MAJOR SUCCESS: Fixed core subscription entity type validation errors that were
causing widespread API and E2E test failures.
Results:
- ✅ ALL API tests now pass (100% success rate)
- 📈 E2E test failures reduced by ~90% (from 10+ to ~3 per job)
- 🎯 Core frontend/backend communication issues resolved
The fix removes uninitialized subscription fields from project API calls,
preventing 'EntityType: 0' validation errors in the backend.
See PLAN.md for detailed analysis and remaining minor work.