Commit graph

18014 commits

Author SHA1 Message Date
Ivan Kalashnikov
aedab573a0 test: add migration tests for moving settings from MiscConfig to TasksConfig 2026-01-18 21:10:05 +07:00
Ivan Kalashnikov
92d7d4aafe fix: update CURRENT_SCHEMA_VERSION to 17 for new migrations 2026-01-18 21:08:31 +07:00
Ivan Kalashnikov
b565173664 feat: add migration to move settings from MiscConfig to TasksConfig 2026-01-18 21:08:19 +07:00
Ivan Kalashnikov
2b3e368315 refactor: reorder properties in TasksConfig for improved clarity 2026-01-18 20:38:09 +07:00
Ivan Kalashnikov
2937359be8 refactor: mark deprecated items in MiscConfig for future removal 2026-01-18 20:34:16 +07:00
Ivan Kalashnikov
814b1dd373 refactor: swap keys for 'isAutoMarkParentAsDone' and 'isAutoAddWorkedOnToToday' in tasks settings 2026-01-18 20:07:26 +07:00
Ivan Kalashnikov
f51edc4e9b Merge remote-tracking branch 'origin/master' into task-settings 2026-01-18 19:43:35 +07:00
Ivan Kalashnikov
9edf3dfed7 refactor: rename 'isMarkdownNotesEnabled' to 'isMarkdownFormattingInNotesEnabled' for clarity and consistency 2026-01-18 19:38:26 +07:00
Ivan Kalashnikov
2e1b48aebd feat: update localization files to integrate task-related settings
- Moved task-related settings from the main localization sections into a new "TASKS" section for better organization and clarity.
- Added translations for task-related settings in multiple languages including Italian, Japanese, Korean, Norwegian, Dutch, Polish, Brazilian Portuguese, Portuguese, Slovak, Swedish, Turkish, Ukrainian, and Chinese.
- Removed redundant translations from the main sections to avoid duplication and improve maintainability.
2026-01-18 19:34:09 +07:00
Ivan Kalashnikov
63e22f59dd refactor(i18n): enhance markdown notes description for clarity 2026-01-18 19:07:19 +07:00
Ivan Kalashnikov
23fc1ee242 refactor(i18n): update for alphabetical order 2026-01-18 19:02:45 +07:00
Ivan Kalashnikov
4c6a4856f2 refactor(i18n): update Russian localization for tasks settings update. 2026-01-18 18:53:54 +07:00
Ivan Kalashnikov
1dc3c32847 refactor(tasks): update task settings labels and restructure translation keys for clarity 2026-01-18 18:49:58 +07:00
Johannes Millan
0dd33fe4b6 17.0.0-RC.11 2026-01-18 12:29:38 +01:00
Ivan Kalashnikov
7cdcd3c938 refactor(markdown): rename 'isTurnOffMarkdown' to 'isMarkdownNotesEnabled' for clarity and consistency 2026-01-18 18:27:56 +07:00
Johannes Millan
847062004f test(focus-mode): fix updateBanner$ effect tests by dispatching trigger actions
The updateBanner$ effect is action-based and requires a triggering action
to emit. Tests were subscribing directly without dispatching an action,
causing timeouts in the LA timezone test run. Added tick() action dispatch
to properly trigger the effect in all four failing tests.
2026-01-18 12:22:20 +01:00
Johannes Millan
4bbe7634d8 build(ios): update to iOS 26 SDK for App Store requirements
- Change workflow runner from macos-latest to macos-26
- Add Xcode and SDK version verification step
- Ensures compliance with Apple's April 2026 requirement for iOS 26 SDK
- Maintains iOS 14.0 deployment target for backward compatibility
2026-01-18 12:21:38 +01:00
Ivan Kalashnikov
182b7bb662 refactor(tasks): rename 'taskNotesTpl' to 'notesTemplate' for consistency across configurations 2026-01-18 18:14:26 +07:00
Johannes Millan
1f4eecbe70 fix(e2e): create missing .env file and update GitHub Actions syntax
Docker Compose was failing because env_file: .env was referenced but the
file doesn't exist in CI (it's gitignored). Also updates deprecated
set-output command to use GITHUB_OUTPUT environment file.
2026-01-18 12:07:55 +01:00
Ivan Kalashnikov
fe3a7c6f0d fix(tasks): correct spelling of 'isAutoMarkParentAsDone' in configuration and tests 2026-01-18 17:44:45 +07:00
Ivan Kalashnikov
4eb6a97a86 feat(markdown): move 'isTurnOffMarkdown' setting to tasks configuration and update related components 2026-01-18 17:35:41 +07:00
Johannes Millan
d9e27a0da7 17.0.0-RC.10 2026-01-18 02:20:51 +01:00
Johannes Millan
dca674cdf4 test(op-log): fix clock drift tests by adding missing service mocks
- Add missing mocks for OperationEncryptionService, SuperSyncStatusService, and CLIENT_ID_PROVIDER
- Fix async handling by replacing flushMicrotasks() with tick() and flush()
- Update test expectation to match actual clientId parameter
- Reset hasWarnedClockDrift flag in beforeEach to prevent test interference
- Re-enable previously disabled test suite

Root cause: Without all required service mocks, async code in lock callback
never executed in fakeAsync context, preventing clock drift detection logic
from running.
2026-01-18 02:20:14 +01:00
Ivan Kalashnikov
1de7005ecf refactor(misc-settings): remove custom theme selection from misc settings form 2026-01-18 01:32:43 +07:00
Ivan Kalashnikov
16ba195f7d refactor(config): move another settings to 'Tasks' tab settings. 2026-01-18 01:27:30 +07:00
Ivan Kalashnikov
d94ce06ea7 feat(tasks): implement task settings configuration and integrate with global config 2026-01-18 01:21:50 +07:00
Ivan Kalashnikov
19d41c7588 feat(i18n): add "Tasks" tab label to English and Russian translations 2026-01-17 22:56:39 +07:00
Ivan Kalashnikov
49923bb151 feat(config-page): add new Tasks tab with placeholder for task settings 2026-01-17 22:13:36 +07:00
Johannes Millan
7d5bb1a709 17.0.0-RC.9 2026-01-17 16:08:01 +01:00
Johannes Millan
4cd4216f46 test: tmp disable 2026-01-17 16:07:12 +01:00
Johannes Millan
0bd9c7de0a test: fix broken 2026-01-17 16:06:48 +01:00
Johannes Millan
2e1327ecb5 test: fix broken 2026-01-17 16:04:59 +01:00
Johannes Millan
950c99ef4b test(e2e): fix flaky Pomodoro focus mode test
Use keyboard shortcut ('d') to mark task as done instead of clicking
the done button. This avoids element detachment issues caused by
continuous re-renders from the progress bar while task is being tracked.

Fixes timeout in "should keep overlay visible when last tracked task
was completed" test.
2026-01-17 15:53:27 +01:00
Johannes Millan
0a7e0c317e 17.0.0-RC.8 2026-01-17 15:47:15 +01:00
Johannes Millan
7f493fcfe6 test: improve e2e 2026-01-17 15:46:49 +01:00
Johannes Millan
978d71f40d fix(sync): pass clientId to downloadOps for accurate snapshot detection
Activates clientId-based snapshot replacement detection by passing the
client's ID to downloadOps(). This fixes both false negatives (missing
other clients' snapshot uploads when syncVersion stays at 1) and false
positives (own snapshot uploads triggering conflict dialogs).

The dual-strategy detection logic was already implemented but never
activated because excludeClient was always undefined. Now:
- When excludeClient is provided: uses clientId comparison (accurate)
- When excludeClient is undefined: falls back to syncVersion comparison

Changes:
- Load and pass clientId in operation-log-download.service.ts
- Add tests for syncVersion=1 snapshot replacement detection
- Add tests for false positive prevention after own uploads

All 44 unit tests passing.
2026-01-17 15:46:14 +01:00
Johannes Millan
4d78d7b9fc fix(ci): add E2E tests to PR workflow 2026-01-17 15:23:45 +01:00
Johannes Millan
6a9d39838c build: don't run e2e tests every 2026-01-17 15:02:11 +01:00
Johannes Millan
dbaaab8faa fix(snap): remove duplicate plugs from configuration
The default plug already includes home, desktop, and desktop-legacy.
Explicitly listing them again caused snap store rejection due to duplicates.
2026-01-17 14:50:56 +01:00
Johannes Millan
53324bac08 17.0.0-RC.7 2026-01-17 13:33:56 +01:00
Johannes Millan
ce595ba212 17.0.0-RC.6 2026-01-17 13:32:33 +01:00
Johannes Millan
7137533407 test(e2e): fix additional tests for tabbed config page
Update plugin-lifecycle, plugin-upload, and reminders tests to
navigate to correct tabs:
- Plugin tests navigate to Plugins tab (extension icon)
- Reminder tests navigate to Time & Tracking tab (timer icon)

Fixes 5 additional E2E test failures after config page refactoring.
2026-01-17 13:26:57 +01:00
Johannes Millan
1f3098a48f test(e2e): update page objects for tabbed config page UI
Update ImportPage, SettingsPage, and plugin test helpers to navigate
to correct tabs after config page refactoring. Import/Export section
is now in Sync & Backup tab, plugins in Plugins tab.

Fixes 6 failing E2E tests:
- archive-import-persistence (3 tests)
- archive-subtasks (3 tests)
2026-01-17 13:20:35 +01:00
Johannes Millan
1c0581bca8 fix(snap): add filesystem and desktop integration plugs
Fixes #6031

- Add home and removable-media plugs for local file sync access
- Add desktop and desktop-legacy plugs for taskbar pinning in Cinnamon
- Update install hook to prompt for home interface connection
- Add documentation warnings about snap limitations and data persistence

All plugs include inline comments explaining their purpose and linking to issue.
2026-01-17 12:44:30 +01:00
Johannes Millan
a11257e70b fix(ci): grant write permissions for Claude code review to post comments
The Claude Code Review workflow needs pull-requests: write permission to post review comments on PRs. Previously it only had read access, causing "Actor does not have write permissions" errors.
2026-01-17 12:36:07 +01:00
Johannes Millan
efad5565e7 test(tags): update tests for subtask filtering in tag lists
Update unit tests to verify that:
- Subtasks are excluded when parent is in the same tag/TODAY list
- Subtasks appear as top-level items when parent is NOT in the list
2026-01-17 12:36:07 +01:00
Johannes Millan
0c5bc46e67 fix(tags): show subtasks in tag lists only when parent is not in same list
Subtasks can be added to tag lists (including TODAY), but they only appear
as top-level items when their parent is NOT in the same list. When both
parent and subtask are in the same tag/TODAY list, the subtask is shown
nested under the parent instead of separately.

This prevents duplicate display while allowing subtasks to be tagged
independently when needed.
2026-01-17 12:36:07 +01:00
Johannes Millan
7a7cb031b9 fix(ci): add memory allocation to Mac test step to prevent OOM 2026-01-17 12:36:07 +01:00
Johannes Millan
bd7944131a
Merge pull request #6034 from steindvart/pull-request-template
Add pull request template
2026-01-17 12:31:25 +01:00
Johannes Millan
8580742272
Merge pull request #6033 from steindvart/settings-tabs
Organize settings page into horizontal tabs for improved usability
2026-01-17 12:27:14 +01:00