Replace fixed timeouts with condition-based waiting to improve test
reliability under load:
- USE_REMOTE test: wait for sync completion instead of fixed 2s delay
- Encryption test: add retry logic for error state checking
- Undo delete test: use waitForTask polling instead of fixed timeout
- Task ordering test: add UI settling time after sync operations
SuperSync page object improvements:
- Add networkidle wait before interacting with sync dialog
- Add explicit mat-dialog-container wait before form interaction
- Add toBeAttached() assertions for element stability
- Use toPass() with progressive backoff for dropdown interactions
- Dismiss existing dropdown overlays before retrying
- Add blur() calls in password change dialog for Angular validation
- Add try-catch for fresh client dialog race condition
Task detail tests:
- Add blur() after time input fill to ensure Angular registers
the change before clicking Save
These changes fix intermittent failures when running E2E tests
with multiple workers in parallel.
Add 6 new E2E test files covering:
- Task ordering sync between clients
- Repeat task and scheduled task sync
- Cross-entity operations (subtasks, batch tasks)
- Time tracking advanced scenarios
- Worklog/archive sync
- Planner/dueDay sync
Each test uses a module-level counter in generateTestRunId() to ensure
unique test user IDs even when tests run in parallel within the same
millisecond.