super-productivity/e2e/tests/sync
Johannes Millan 7c03c84fad
feat(history): merge Quick History and Worklog into a unified History view (#8033)
* feat(history): merge Quick History and Worklog into one view

- single /history route; legacy worklog & quick-history redirect to it
- one History menu entry; navigate-to-task targets history
- show per-day work start-end as its own column in the day table
- show enabled habits/simple-counters (icon + tooltip) in the expanded day
- extract HistoryTaskRowComponent for archived task rows
- remove WorklogComponent and QuickHistoryComponent

* fix(history): restore quick history behavior

* refactor(history): collapse to a single unified view

- remove the Worklog/Quick History toggle; show one full all-time
  history tree (year -> month -> week -> day)
- drop the quick-history mode, significance filter and ?view= param
- extract shared HistoryDayMetaComponent; reuse HistoryTaskRowComponent
  in the Daily Summary "This Week" widget
- convert project colors + dateStr auto-expand to signals
- update e2e specs to the single-view selectors

* refactor(history): remove dead quick-history code and i18n keys

After merging Quick History into the unified History view, the
quick-history data pipeline had no consumers. Remove it:
- _quickHistoryData$, quickHistoryWeeks$, _loadQuickHistoryForWorkContext
- map-archive-to-worklog-weeks util (+ tz spec) and WorklogYearsWithWeeks
- orphaned F.QUICK_HISTORY, MH.QUICK_HISTORY, MH.WORKLOG translation keys

Keep WorklogWeekSimple (base of the still-used WorklogWeek).

* docs(history): reflect Quick History merge into unified History

The quick-history and worklog routes are now legacy aliases for the
single unified History view; drop the stale 'current-year mode/toggle'
framing. Concepts-note prose flagged for human review.

* feat(history): improve a11y and i18n of the unified history view

Accessibility:
- week table uses <thead> + <th scope=col>; icon-only work-times
  header gets a translated aria-label
- expandable day row: real <button> disclosure control carrying
  aria-expanded/aria-controls (keyboard + AT path) instead of a
  role=button <tr>; row keeps a pointer click
- archived-task title is now a <button> (was a non-focusable <span>)

i18n: translate previously hardcoded aria-labels (export/restore) and
the week-range tooltip; reuse VIEW_TASK_DETAILS/RESTORE_TASK_FROM_ARCHIVE,
add EXPORT_DATA + WEEK_RANGE_TOOLTIP keys.

Polish (carried in): convert worklogData$ to a toSignal signal (drop
AsyncPipe + dead animations), relocate the shared row to
features/worklog/worklog-task-row (WorklogTaskRowComponent) to break a
worklog<->history cycle, make template-unused services private, tighten
projectColor input type. SCSS focus rings use focus-ring tokens.

e2e: locate task titles via td.title button after the span->button change.
2026-06-05 18:10:56 +02:00
..
ENCRYPTION-E2E-STATUS.md refactor(sync): consolidate LegacySyncProvider into SyncProviderId 2026-02-15 11:19:22 +01:00
import-sync.spec.ts feat(history): merge Quick History and Worklog into a unified History view (#8033) 2026-06-05 18:10:56 +02:00
supersync-account-deletion.spec.ts fix(e2e): fix failing and flaky supersync tests 2026-02-08 14:16:06 +01:00
supersync-account-reset.spec.ts test(sync): add encryption and supersync e2e test coverage 2026-03-01 21:27:08 +01:00
supersync-advanced-edge-cases.spec.ts fix(e2e): add settle time after done-toggle to prevent sync race condition 2026-03-24 20:09:02 +01:00
supersync-advanced.spec.ts fix(sync): preserve own vector clock counter across full-state op resets 2026-04-01 15:41:13 +02:00
supersync-archive-conflict.spec.ts test(e2e): harden LWW archive and encryption password-change tests 2026-04-19 19:20:34 +02:00
supersync-archive-data-sync.spec.ts feat(history): merge Quick History and Worklog into a unified History view (#8033) 2026-06-05 18:10:56 +02:00
supersync-archive-subtasks.spec.ts fix(tasks): recover focusedTaskId when shortcut fires on a focused task 2026-05-02 19:23:26 +02:00
supersync-backup-import-id-mismatch.spec.ts test(e2e): tighten backup-export selector for renamed privacy button 2026-04-21 21:50:52 +02:00
supersync-backup-recovery.spec.ts feat(history): merge Quick History and Worklog into a unified History view (#8033) 2026-06-05 18:10:56 +02:00
supersync-cascade-delete.spec.ts test(e2e): fix reliability issues in supersync E2E tests 2026-02-13 14:06:43 +01:00
supersync-compaction.spec.ts chore(e2e): remove unused eslint-disable directive 2026-02-12 16:43:11 +01:00
supersync-concurrent-delete-reorder.spec.ts fix(sync): improve move operation reliability during sync 2026-03-24 16:25:42 +01:00
supersync-concurrent-import.spec.ts test(e2e): fix supersync E2E tests for mandatory encryption flow 2026-03-06 16:36:38 +01:00
supersync-constraint-error-recovery.spec.ts fix(tests): improve synchronization tests and increase timeout for IndexedDB operations 2026-02-06 20:10:21 +01:00
supersync-cross-entity.spec.ts fix(e2e): improve test stability for parallel execution 2026-01-04 17:35:47 +01:00
supersync-daily-summary.spec.ts test(e2e): match renamed time-estimate icon in daily-summary spec 2026-05-08 22:30:59 +02:00
supersync-day-change-overdue-6992.spec.ts test(e2e): add day-change sync convergence test (#6992) and fix lint 2026-03-29 19:57:10 +02:00
supersync-divergence-bug-6571.spec.ts fix(sync): preserve own vector clock counter across full-state op resets 2026-04-01 15:41:13 +02:00
supersync-edge-cases.spec.ts test(e2e): fix done-toggle selector to use element instead of class 2026-03-24 16:25:42 +01:00
supersync-encryption-conflict.spec.ts test(e2e): fix done-toggle selector to use element instead of class 2026-03-24 16:25:42 +01:00
supersync-encryption-password-change.spec.ts test(sync): cover incompatible supersync password change 2026-05-13 11:08:54 +02:00
supersync-encryption-password-preservation.spec.ts test(e2e): fix supersync E2E tests for mandatory encryption flow 2026-03-06 16:36:38 +01:00
supersync-encryption.spec.ts test(e2e): fix supersync encryption tests for mandatory encryption 2026-03-06 18:19:26 +01:00
supersync-error-handling.spec.ts test(e2e): fix done-toggle selector to use element instead of class 2026-03-24 16:25:42 +01:00
supersync-error-scenarios.spec.ts test(e2e): fix supersync error scenario tests and skip failing import tests 2026-03-06 23:08:37 +01:00
supersync-example-task-fresh-client.spec.ts [codex] Fix sync import conflict from startup example tasks (#7976) 2026-06-03 15:57:53 +02:00
supersync-global-config-edge-cases.spec.ts test(e2e): strengthen assertions in supersync E2E tests 2026-02-12 16:42:07 +01:00
supersync-import-clean-server-state.spec.ts test(e2e): fix supersync error scenario tests and skip failing import tests 2026-03-06 23:08:37 +01:00
supersync-import-clean-slate.spec.ts test(e2e): fix 11 failing supersync import tests 2026-03-07 13:28:20 +01:00
supersync-import-conflict-dialog.spec.ts test(e2e): use spinner cycle for SYNC_IMPORT silent-accept completion signal 2026-04-29 16:17:56 +02:00
supersync-import-encryption-change.spec.ts test(e2e): fix 11 failing supersync import tests 2026-03-07 13:28:20 +01:00
supersync-import-encryption-preserve.spec.ts test(e2e): fix 11 failing supersync import tests 2026-03-07 13:28:20 +01:00
supersync-import-other-client-ops.spec.ts test(e2e): fix reliability issues in supersync E2E tests 2026-02-13 14:06:43 +01:00
supersync-import-same-client-ops.spec.ts test(e2e): fix reliability issues in supersync E2E tests 2026-02-13 14:06:43 +01:00
supersync-keep-local-archive-preservation.spec.ts feat(history): merge Quick History and Worklog into a unified History view (#8033) 2026-06-05 18:10:56 +02:00
supersync-lastseq-preservation.spec.ts test(e2e): fix reliability issues in supersync E2E tests 2026-02-13 14:06:43 +01:00
supersync-late-join.spec.ts test(e2e): fix failing supersync E2E tests 2026-03-07 22:32:03 +01:00
supersync-legacy-migration-sync.spec.ts Improve on sync (#7736) 2026-05-22 17:49:25 +02:00
supersync-lww-conflict.spec.ts Feat/issue 7330 bc1a3f (#7522) 2026-05-09 00:12:58 +02:00
supersync-lww-singleton.spec.ts style: fix prettier formatting errors in e2e tests and nav-item scss 2026-04-01 15:41:14 +02:00
supersync-max-retry-rejection.spec.ts test(e2e): fix failing supersync E2E tests 2026-03-07 22:32:03 +01:00
supersync-models.spec.ts test(e2e): fix failing sync tests and reduce flakiness 2026-03-27 17:33:38 +01:00
supersync-multi-tab.spec.ts feat(shepherd): remove all tours except keyboard navigation 2026-03-22 17:00:42 +01:00
supersync-network-failure.spec.ts test(supersync): fix flaky E2E tests with timing adjustments 2026-01-24 21:14:57 +01:00
supersync-no-op-sync.spec.ts test(sync): add encryption and supersync e2e test coverage 2026-03-01 21:27:08 +01:00
supersync-planner.spec.ts fix(e2e): improve test stability for parallel execution 2026-01-04 17:35:47 +01:00
supersync-provider-switch-to-supersync.spec.ts test(sync): add encryption and supersync e2e test coverage 2026-03-01 21:27:08 +01:00
supersync-provider-switch.spec.ts test(e2e): fix reliability issues in supersync E2E tests 2026-02-13 14:06:43 +01:00
supersync-realtime-push.spec.ts test(e2e): block WebSocket in SuperSync tests to prevent sync race conditions 2026-03-30 23:14:01 +02:00
supersync-reenable-and-account-switch.spec.ts test(sync): add encryption and supersync e2e test coverage 2026-03-01 21:27:08 +01:00
supersync-repeat-task-advanced.spec.ts fix(e2e): improve test stability for parallel execution 2026-01-04 17:35:47 +01:00
supersync-repeat-task.spec.ts fix(sync): only show import conflict dialog for local unsynced imports 2026-01-11 11:22:32 +01:00
supersync-server-backup-revert.spec.ts test(e2e): scope supersync backup-revert DB restore to test user 2026-06-01 16:33:18 +02:00
supersync-server-migration-abort.spec.ts test(sync): add encryption and supersync e2e test coverage 2026-03-01 21:27:08 +01:00
supersync-server-migration.spec.ts test(e2e): add sync-stall recovery to flaky supersync setup and migration 2026-05-28 13:58:19 +02:00
supersync-simple-counter.spec.ts test(e2e): fix supersync E2E tests for mandatory encryption flow 2026-03-06 16:36:38 +01:00
supersync-snapshot-vector-clock.spec.ts test(e2e): scope supersync backup-revert DB restore to test user 2026-06-01 16:33:18 +02:00
supersync-stress.spec.ts test(e2e): fix done-toggle selector to use element instead of class 2026-03-24 16:25:42 +01:00
supersync-superseded-clock-regression.spec.ts test(e2e): fix failing supersync E2E tests 2026-03-07 22:32:03 +01:00
supersync-task-ordering.spec.ts fix(e2e): stabilize flaky supersync tests with better waiting strategies 2026-01-13 18:26:45 +01:00
supersync-time-tracking-advanced.spec.ts feat(history): merge Quick History and Worklog into a unified History view (#8033) 2026-06-05 18:10:56 +02:00
supersync-token-expiry.spec.ts test(e2e): fix failing supersync E2E tests 2026-02-12 18:02:14 +01:00
supersync-vector-clock-max-size.spec.ts fix(sync): remove dead code, add defensive checks, and clean up vector clock logic 2026-02-02 17:15:13 +01:00
supersync-vector-clock-pruning.spec.ts fix: resolve pre-existing lint and prettier errors blocking commits (#6840) 2026-03-15 16:47:52 +01:00
supersync-worklog.spec.ts feat(history): merge Quick History and Worklog into a unified History view (#8033) 2026-06-05 18:10:56 +02:00
supersync-wrong-password-error.spec.ts test(e2e): fix failing supersync E2E tests 2026-03-07 22:32:03 +01:00
supersync.spec.ts feat(history): merge Quick History and Worklog into a unified History view (#8033) 2026-06-05 18:10:56 +02:00
webdav-encryption-conflict-use-local.spec.ts feat(shepherd): remove all tours except keyboard navigation 2026-03-22 17:00:42 +01:00
webdav-encryption-disable.spec.ts fix(e2e): resolve flaky WebDAV tests and fix encryption test failures 2026-01-28 21:55:04 +01:00
webdav-first-sync-conflict.spec.ts fix(sync): break iOS WebDAV conflict-dialog loop (#7339) 2026-04-25 22:36:14 +02:00
webdav-legacy-migration-sync.spec.ts Improve on sync (#7736) 2026-05-22 17:49:25 +02:00
webdav-provider-switch.spec.ts test(sync): add E2E test for fresh-client sync duplication bug (b2b63da9) 2026-02-03 14:38:05 +01:00
webdav-single-client-rapid-sync.spec.ts fix(sync): preserve own vector clock counter across full-state op resets 2026-04-01 15:41:13 +02:00
webdav-sync-advanced.spec.ts test(e2e): open attachment dialog via detail panel after #7314 2026-04-25 22:36:14 +02:00
webdav-sync-archive.spec.ts feat(shepherd): remove all tours except keyboard navigation 2026-03-22 17:00:42 +01:00
webdav-sync-delete-cascade.spec.ts feat(shepherd): remove all tours except keyboard navigation 2026-03-22 17:00:42 +01:00
webdav-sync-error-handling.spec.ts test(e2e): harden failure signals and provider gates (#7753) 2026-05-23 20:33:04 +02:00
webdav-sync-expansion.spec.ts test(e2e): fix failing sync tests and reduce flakiness 2026-03-27 17:33:38 +01:00
webdav-sync-full.spec.ts feat(sync): replace WebDAV header-based conflict detection with content hashing 2026-03-30 17:33:06 +02:00
webdav-sync-tags.spec.ts fix(ci): exclude WebDAV and SuperSync tests from build workflow 2026-01-21 20:42:50 +01:00
webdav-sync-task-order.spec.ts fix(ci): exclude WebDAV and SuperSync tests from build workflow 2026-01-21 20:42:50 +01:00
webdav-sync-today-tag.spec.ts feat(shepherd): remove all tours except keyboard navigation 2026-03-22 17:00:42 +01:00