The done-toggle was refactored from an inline SVG with class="done-toggle"
into a standalone Angular component <done-toggle>. Update all e2e selectors
from '.done-toggle' (class) to 'done-toggle' (element) to match.
- Replace drag handle with SVG done-toggle circle with checkmark draw-on animation
- Improve mobile UX: cdkDragStartDelay for touch, bottom-sheet context menu
- Move issue/repeat indicators from drag handle to tag-list as chips
- Add isFinishDayEnabled config toggle
- Reorder context menu: add sub task before duplicate, deadline as own entry
- Fix context menu not opening on swipe left
- Fix race condition in done toggle animation timeout
Two root causes for failing E2E tests in CI:
1. Encryption button not visible after provider selection: The async
provider change listener loads config from IndexedDB and updates the
Formly model, but the 1000ms waitForTimeout was insufficient in CI.
Replace with polling (200ms intervals, 10s timeout) that waits for
either enable or disable encryption button to become visible.
Also removes ~130 lines of leftover debug logging from disableEncryption().
2. Drag-handle strict mode violation on parent tasks with subtasks:
task.locator('.drag-handle') matched both the parent's drag handle
and nested subtask drag handles. Add .first() to all drag-handle
locator usages to target only the parent task's own handle.
Shift+P keyboard shortcut was silently blocked when focus remained on
the add-task input after task creation. Switch to button-based
projectPage.createProject() and explicitly expand the Projects sidebar
group after navigating back to Today view.
- bug-5995: replace waitForLoadState with waitForAppReady and
waitForURL to handle navigation timing under parallel load
- flowtime-timer-bug-5117: replace flaky countdown try/catch with
single robust wait for complete-session button (25s timeout)
- task-detail: add Tab press after fill('') to trigger blur-based
ngModel update on date/time inputs
- task-dragdrop: navigate back to Today view after project creation
since app now navigates to new project on create
- base.page: dismiss blocking dialogs before addTask interaction