Commit graph

18085 commits

Author SHA1 Message Date
Johannes Millan
12d7cb80c4
update readme 2026-01-19 19:58:18 +01:00
Johannes Millan
8ba130ad58
Merge pull request #6063 from steindvart/tasks-settings-inline-label
Tasks tab - provide changes from #6058
2026-01-19 19:23:55 +01:00
Ivan Kalashnikov
7f61c638c3 fix: enhance Tasks tab with tooltip and section title 2026-01-20 00:47:55 +07:00
Johannes Millan
8734b7ef4c
Merge pull request #6053 from steindvart/task-settings
Move task-related settings to a dedicated Tasks Settings tab and fix technical issues
2026-01-19 16:46:44 +01:00
Johannes Millan
83bc88d686
Merge pull request #6062 from steindvart/restore-issue-templates
Hotfix: remove conditionals from bug and feature issue templates
2026-01-19 16:44:04 +01:00
Johannes Millan
98e94b5663
Merge pull request #6049 from Kuntal6002/fix/manual-break-overtime
Fix/manual break overtime
2026-01-19 16:43:33 +01:00
Johannes Millan
7ba9ca015b
Merge pull request #6043 from Nejvis/patch-1
Update pl.json
2026-01-19 16:20:59 +01:00
Johannes Millan
27f07e418a
Merge pull request #6058 from steindvart/tabs-style-small-devices
Improve settings tabs navigation on small screens
2026-01-19 16:20:25 +01:00
Johannes Millan
6426f59804
Merge pull request #6060 from mycochang/fix/restore-force-upload-ui
Fix/restore force upload UI
2026-01-19 16:19:40 +01:00
Ivan Kalashnikov
21579be27d fix(issue-templates): remove conditional from bug report and feature request templates 2026-01-19 22:17:12 +07:00
Johannes Millan
1a455e294d
Merge pull request #6048 from steindvart/update-bug-issue-template
Improve issue templates
2026-01-19 16:08:54 +01:00
Michael Chang
a54e5f7fe8 style(sync): use proper button label for force upload 2026-01-19 14:56:05 +01:00
Johannes Millan
f8a9347681 feat(focus-mode): add end focus session button to completion banner
Adds a secondary "End Focus Session" button to the focus banner when a session completes, allowing users to completely exit focus mode and dismiss the banner instead of only being able to start a break or next session.
2026-01-19 14:48:56 +01:00
Johannes Millan
9e7a9ccdc9 fix(ci): grant write permissions for fork PRs in Claude Code review
Change trigger from pull_request to pull_request_target to allow the
workflow to run with write permissions even for external contributors.
This fixes the "Actor has insufficient permissions" error.

Also add condition to skip draft PRs to reduce API usage.
2026-01-19 14:43:26 +01:00
Ivan Kalashnikov
86be6872bf feat(config-page): add section titles to each tab in settings 2026-01-19 20:24:48 +07:00
Ivan Kalashnikov
d1f5045646 feat(config-page): hide tabs labes in 'md' size screens 2026-01-19 20:21:05 +07:00
Michael Chang
c1f5a1ab15 chore: remove accidental directory 2026-01-19 14:11:11 +01:00
Michael Chang
222b3474b8 fix(sync): restore missing force upload button in new config UI 2026-01-19 13:58:23 +01:00
Ivan Kalashnikov
5ceb5fdb03 fix: ensure default tasks configuration is used when tasks are undefined 2026-01-19 19:35:18 +07:00
Johannes Millan
cf317036de fix(e2e): wait for dialog close animation in deleteTask helper
The deleteTask() helper was clicking the confirmation dialog Delete
button but not waiting for the dialog to actually close. This caused
a race condition where tests would immediately check for the undo
snackbar before it could appear, leading to timeouts.

The fix adds a proper wait for the dialog container to be hidden
after clicking Delete, ensuring the close animation completes and
NgRx effects have time to dispatch the snackbar action.

Fixes CI E2E workflow failure in "Undo task delete syncs restored
task to other client" test.
2026-01-19 12:09:50 +01:00
Johannes Millan
7dcf0b77df fix(config): handle undefined state in config selectors
Fixes #6052

Add null-safety checks to all 15 config selectors to handle
undefined state during app initialization. Prevents crash when
selector-based effects fire before loadAllData completes.

Changes:
- Add nullish coalescing operator to all selectors
- Return DEFAULT_GLOBAL_CONFIG values when state is undefined
- Add 26 unit tests for undefined state handling

All tests pass (41/41). No breaking changes to API or behavior.
2026-01-19 11:44:56 +01:00
Ivan Kalashnikov
b602993864 fix: update incompatible version logic to use CURRENT_SCHEMA_VERSION 2026-01-19 14:56:37 +07:00
Ivan Kalashnikov
1987292433 refactor: streamline migration logic and enhance field mapping for settings 2026-01-19 14:38:42 +07:00
Ivan Kalashnikov
800ba30f4f refactor: rename misc to tasks settings migration file and object. 2026-01-19 14:30:42 +07:00
Ivan Kalashnikov
356278fc87 feat: enhance migration tests for settings and operations handling 2026-01-19 14:21:09 +07:00
Ivan Kalashnikov
218e74f882 feat: implement migration of settings from misc to tasks with operation handling 2026-01-19 14:19:31 +07:00
Ivan Kalashnikov
aad5cfd892 fix: update tests to reflect current schema version 2 after migration 2026-01-19 14:18:25 +07:00
Ivan Kalashnikov
263495b8cd feat: update migration functions to support splitting operations into multiple results 2026-01-19 13:58:27 +07:00
Ivan Kalashnikov
b3da4e4850 fix: update CURRENT_SCHEMA_VERSION to 2 for upcoming migration 2026-01-19 13:16:48 +07:00
Kuntal Das
d5b4238d17 test(focus-mode): mock focus mode config for session completion effect 2026-01-18 19:26:51 +00:00
Kuntal Das
6b2822121c fix(focus-mode): do not auto-complete session when manual breaks enabled 2026-01-18 19:01:07 +00:00
Ivan Kalashnikov
5002bae1c0 fix: add todo comment to bump CURRENT_SCHEMA_VERSION for upcoming migration 2026-01-19 01:09:00 +07:00
Ivan Kalashnikov
773ca2514f fix: update project and task configurations to use 'tasks' instead of 'misc' in tests 2026-01-19 01:04:59 +07:00
Ivan Kalashnikov
e8d5dff3b9 fix: update getMigrations method to accept version range parameters and fix tests 2026-01-19 01:04:29 +07:00
Ivan Kalashnikov
48148a5a27 fix: update GlobalConfigService mock to use tasks$ for add-task-bar-spec 2026-01-19 00:50:44 +07:00
Ivan Kalashnikov
9294a8b4f3 fix: replace date formatting with getDbDateStr for consistency in plugin tests 2026-01-19 00:43:02 +07:00
Ivan Kalashnikov
778ef2e31d fix: update globalConfigServiceMock to use tasks$ instead of misc$ for consistency 2026-01-19 00:42:49 +07:00
Ivan Kalashnikov
f0e2e12984 fix: update GlobalConfigService mock to use 'tasks' instead of 'misc' for notes template 2026-01-19 00:33:32 +07:00
Ivan Kalashnikov
a27fff8a2f fix: correct property name in GlobalConfigService from misc$ to tasks$ 2026-01-19 00:29:17 +07:00
Ivan Kalashnikov
e000f2568f fix: rename defaultTaskNoteTemplate to defaultTaskNotesTemplate for consistency 2026-01-19 00:21:47 +07:00
Ivan Kalashnikov
325e24f461 fix: revert CURRENT_SCHEMA_VERSION to 1 2026-01-19 00:03:33 +07:00
Ivan Kalashnikov
7920067fa4 fix: rename isMarkdownFormattingInNotesEnabled to isMarkdownFormattingEnabled for consistency 2026-01-18 23:51:30 +07:00
Ivan Kalashnikov
b4bdf94040 Merge remote-tracking branch 'origin/master' into task-settings 2026-01-18 23:41:19 +07:00
Ivan Kalashnikov
5540ddf5b2 fix: correct typo in isAutoMarkParentAsDone property to isAutMarkParentAsDone 2026-01-18 23:37:32 +07:00
Ivan Kalashnikov
6705033d15 feat: implement migration to move settings from MiscConfig to TasksConfig 2026-01-18 23:31:06 +07:00
Ivan Kalashnikov
2473b9698d fix: update migration test to correctly structure migrated state with globalConfig 2026-01-18 23:30:57 +07:00
Johannes Millan
b723a63cf2 perf(e2e): reduce defensive waits after confirmed operations
Additional Phase 1 low-risk optimizations:
- Dialog settle waits: 500ms → 200ms (after dialog confirmed hidden)
- Sync buffer wait: 500ms → 200ms (after spinner confirmed hidden)
- Rate limit retry: 1000ms → 500ms (rare error condition)
- Setup fallback: 2000ms → 1000ms (rare app load delay)

All waits reduced come AFTER proper wait conditions, making them
very low risk. These are defensive buffers that can be safely reduced.

Expected impact: Additional 3-5s saved per test
Risk: Very low - all operations already properly verified before wait
2026-01-18 17:19:57 +01:00
Ivan Kalashnikov
d6506e95d1 refactor: rename test spec migration in format 'v1 to v2' 2026-01-18 23:18:42 +07:00
Johannes Millan
055e1959af docs(e2e): add SuperSync test optimization results
Documents Phase 1 optimization results:
- 27% faster per-test execution (15.1s → 11.0s)
- 100% reduction in flaky tests (4 → 0)
- 28% faster total suite time (32min → 23min)

Includes baseline measurements and detailed change log.
2026-01-18 17:14:36 +01:00
Ivan Kalashnikov
651d5dc183 feat: add migration to move settings from MiscConfig to TasksConfig as separate file 2026-01-18 23:08:30 +07:00