Commit graph

5 commits

Author SHA1 Message Date
Johannes Millan
31480a5fab feat(tasks): replace drag handle with done toggle circle and improve mobile UX
- 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
2026-03-22 18:14:16 +01:00
Johannes Millan
7164a5e44b test(e2e): fix encryption button timing and drag-handle strict mode violation
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.
2026-03-04 19:38:37 +01:00
Johannes Millan
68a2d8a9b7 test(e2e): fix flaky tests with better waits and focus handling
Replace unreliable networkidle waits with explicit element/URL waits,
improve keyboard focus handling with retry logic, fix strict mode
violations, and add hover before note menu interactions.
2026-03-03 21:46:11 +01:00
Johannes Millan
52bf171ec4 fix(e2e): fix keyboard shortcut delete test and reduce sync test flakiness
- Click on .drag-handle instead of task element to properly focus task
  without triggering title edit mode (which would block keyboard shortcuts)
- Verify WebDAV form fields appear after selection before proceeding
- Add clear error message when WebDAV selection fails after retries
2026-01-10 12:10:23 +01:00
Johannes Millan
f3954131ac feat(tasks): add confirmation dialog before task deletion
Add optional setting to show confirmation dialog when deleting tasks
via keyboard shortcut (Backspace) or context menu. This prevents
accidental cascading deletions when users press Backspace expecting
browser-like "go back" behavior.

- Add isConfirmBeforeTaskDelete setting (defaults to true)
- Add confirmation dialog to TaskComponent.deleteTask()
- Add confirmation dialog to context menu deleteTask()
- Add setting checkbox in Settings > Misc
- Add unit and E2E tests for the feature

Closes #5942
2026-01-09 15:01:06 +01:00