mika kuns
229d4bbb2b
feat(ui): TaskRowViewModel gains planning hierarchy flags
...
Adds ParentTaskId, IsExpanded, IsChild, IsPlanningParent, IsDraft, and
PlanningBadge to TaskRowViewModel with property-changed notifications.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-23 18:39:44 +02:00
mika kuns
d4a46420c9
feat(worker): hook TryCompleteParentAsync after MarkDone/MarkFailed
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-23 18:18:50 +02:00
mika kuns
f704244b84
test(data): parent delete with children is restricted
2026-04-23 18:15:12 +02:00
mika kuns
19bf032a2e
test(data): queue skips Planning/Planned/Draft
2026-04-23 18:09:29 +02:00
mika kuns
b7464c9a11
feat(data): TaskRepository.TryCompleteParentAsync
2026-04-23 18:08:14 +02:00
mika kuns
524aaf85af
feat(data): TaskRepository.DiscardPlanningAsync
2026-04-23 18:04:40 +02:00
mika kuns
a9e7479326
feat(data): TaskRepository.FinalizePlanningAsync
2026-04-23 18:03:10 +02:00
mika kuns
2e80cc606e
feat(data): TaskRepository.FindByPlanningTokenAsync
2026-04-23 17:59:42 +02:00
mika kuns
d099138487
feat(data): TaskRepository.UpdatePlanningSessionIdAsync
2026-04-23 17:58:28 +02:00
mika kuns
2278d97b7e
feat(data): TaskRepository.SetPlanningStartedAsync
2026-04-23 17:56:19 +02:00
mika kuns
74255ddc82
feat(data): TaskRepository.CreateChildAsync
2026-04-23 17:54:43 +02:00
mika kuns
b466246c1b
feat(data): TaskRepository.GetChildrenAsync
2026-04-23 17:52:51 +02:00
mika kuns
0b72c0fb53
Merge branch 'feat/self-update'
...
Self-update for app and installer. Integrates cleanly with the
worker-log-footer feature that landed on main in parallel — the
shell VM now carries both worker-log state and update-check state,
and MainWindow hosts both the update banner and the footer log line.
Conflict resolved in IslandsShellViewModel.cs: kept nullable property
types from main's test-only parameterless constructor work, and added
the UpdateCheck property exposing the injected service.
2026-04-23 15:24:07 +02:00
mika kuns
ec4ec44603
feat(ui): add worker log state and 30s timer to shell VM
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-23 14:56:58 +02:00
mika kuns
ee09706811
feat(ui): add InstallerLocator
2026-04-23 14:56:57 +02:00
mika kuns
c06d1d6afb
feat(ui): add UpdateCheckService
2026-04-23 14:53:20 +02:00
mika kuns
f906e7086c
feat(ui): add WorkerLogLevelToBrushConverter with tests
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-23 14:53:03 +02:00
mika kuns
98c188a5da
feat(releases): add SelfUpdater.DownloadAndVerifyAsync
2026-04-23 14:45:13 +02:00
mika kuns
0c3dcb0052
feat(releases): add SelfUpdater.HandleReplaceSelfAsync
2026-04-23 14:42:41 +02:00
mika kuns
e017d66023
feat(releases): add SelfUpdater.DecideUpdateAsync
2026-04-23 14:40:45 +02:00
mika kuns
ba0b38b4f1
feat(releases): add SelfUpdater installer-asset matching
2026-04-23 14:38:20 +02:00
mika kuns
7c0f8d8408
feat(releases): add VersionComparer
2026-04-23 14:21:25 +02:00
mika kuns
5346737e2b
test(releases): port ReleaseClient + ChecksumVerifier tests to new project
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-23 14:18:17 +02:00
mika kuns
1a10e6fa09
feat(worker): expose RestoreDefaultAgents hub method
2026-04-23 12:18:49 +02:00
mika kuns
990be09bd7
feat(worker): add DefaultAgentSeeder for first-launch agent seeding
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-23 12:12:55 +02:00
Mika Kuns
a4e313dbad
improve Frontend
2026-04-22 17:09:00 +02:00
Mika Kuns
7c312161bb
feat(worker): add hub methods for list and task agent settings
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-22 13:16:46 +02:00
Mika Kuns
480eb0817a
feat(data): add TaskRepository.UpdateAgentSettingsAsync
2026-04-22 13:10:21 +02:00
Mika Kuns
1b94fa5c44
feat(data): add ListRepository.DeleteConfigAsync
2026-04-22 13:09:03 +02:00
Mika Kuns
953d93179d
fix(worker): honour targetBranch in MergeAsync by checking out before merge
...
Add GitService.CheckoutBranchAsync; compare targetBranch to current HEAD
before MergeNoFfAsync and switch when they differ. Returns Blocked if the
branch does not exist. Add three new tests (two service, one GitService).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-22 10:25:35 +02:00
Mika Kuns
1c20d8f846
feat(worker): scaffold TaskMergeService with pre-flight checks
2026-04-22 09:36:16 +02:00
Mika Kuns
77a1460e3a
feat(git): add ListConflictedFilesAsync
2026-04-22 09:31:36 +02:00
Mika Kuns
21a1870fd7
feat(git): add MergeAbortAsync
2026-04-22 09:29:24 +02:00
Mika Kuns
3ebbdb3f6e
feat(git): add MergeNoFfAsync returning (exitCode, stderr)
2026-04-22 09:27:47 +02:00
Mika Kuns
535d0c5558
feat(git): add IsMidMergeAsync
2026-04-22 09:25:10 +02:00
Mika Kuns
2d807aa606
feat(git): add ListLocalBranchesAsync
2026-04-22 09:23:35 +02:00
Mika Kuns
93ee7b72d5
feat(git): add GetCurrentBranchAsync
2026-04-22 09:22:41 +02:00
Mika Kuns
74eb36d3c0
feat(worker): add TaskResetService for discard + reset flow
...
Orchestrates worktree discard, task reset to Manual, and SignalR broadcast.
Includes integration tests (happy path + running-task rejection).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-21 17:31:52 +02:00
Mika Kuns
202236a45b
feat(data): add TaskRepository.ResetToManualAsync
2026-04-21 17:26:01 +02:00
Mika Kuns
88be19a231
test(worker): strengthen DiscardAsync test (cleanup + branch assertion)
2026-04-21 17:23:58 +02:00
Mika Kuns
44203f3c67
feat(worker): add WorktreeManager.DiscardAsync for task reset
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-21 17:21:08 +02:00
Mika Kuns
fca5d57fef
feat(worker): extend ClaudeArgsBuilder with MaxTurns and PermissionMode
2026-04-21 15:55:40 +02:00
Mika Kuns
cfb9ca1ca4
feat(worker): add WorktreeMaintenanceService for idle-worktree cleanup
2026-04-21 15:55:35 +02:00
Mika Kuns
62a1121571
feat(data): add AppSettings entity, migration, and repository
2026-04-21 15:55:29 +02:00
mika kuns
dc1b648b4c
feat(ui): TaskRowViewModel with status chip mapping
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-20 10:20:57 +02:00
mika kuns
9a05907170
refactor(data): centralize list seeding in MigrateAndConfigure, add default-value test
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-20 10:07:12 +02:00
mika kuns
bd8a4d0565
feat(data): seed default Lists (My Day, Important, Planned)
2026-04-20 10:02:07 +02:00
mika kuns
a1190a35bd
feat(data): add IsStarred, IsMyDay, Notes to TaskEntity
2026-04-20 09:59:12 +02:00
mika kuns
ad7c9facaf
fix(worker): escape newline/tab in CLI args
2026-04-17 14:25:15 +02:00
mika kuns
11a4376da5
fix(worker): guard against same task in queue and override slot
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-17 14:23:08 +02:00