Mika Kuns
2bcd5ef9bd
test(worker): cover merge conflict auto-abort
2026-04-22 09:41:31 +02:00
Mika Kuns
63eb860e40
test(worker): cover diverged non-conflicting merge
2026-04-22 09:41:30 +02:00
Mika Kuns
e80ac7de49
test(worker): cover TaskMergeService removeWorktree path
2026-04-22 09:41:30 +02:00
Mika Kuns
3331c24898
feat(worker): implement TaskMergeService happy path
2026-04-22 09:37: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
32ef1b389a
docs: clarify merged-with-cleanup-warning result shape
2026-04-22 09:17:43 +02:00
Mika Kuns
0885518a68
docs: add worktree merge implementation plan
...
23 TDD-sized tasks covering GitService additions, TaskMergeService,
SignalR surface, MergeModal view/vm, and wiring into DetailsIsland
plus DiffModal. Each task: failing test -> implement -> green -> commit.
2026-04-22 09:16:38 +02:00
Mika Kuns
944d3bd3e8
docs: add worktree merge design spec
...
Captures decisions for merging a task worktree into a target branch:
merge-commit strategy, dual UI entry (Details island + DiffModal),
per-merge cleanup checkbox, pre-flight + abort-on-conflict.
2026-04-22 09:08:44 +02:00
Mika Kuns
fb89e02b02
docs: note ResetTask hub method and TaskResetService
2026-04-21 17:46:00 +02:00
Mika Kuns
58c8210afa
fix(ui): correct Reset button tooltip wording
2026-04-21 17:44:50 +02:00
Mika Kuns
2ce6b7bd3a
feat(ui): add Continue and Reset buttons to agent strip
2026-04-21 17:44:00 +02:00
Mika Kuns
f90d3d8375
fix(ui): early-return in ResetAsync when ConfirmAsync is unwired
2026-04-21 17:42:36 +02:00
Mika Kuns
b03e858a8f
feat(ui): add Continue and Reset commands to DetailsIslandViewModel
2026-04-21 17:40:32 +02:00
Mika Kuns
2278b516ea
feat(ui): add ContinueTaskAsync and ResetTaskAsync to WorkerClient
2026-04-21 17:37:41 +02:00
Mika Kuns
219a231f32
feat(worker): expose ResetTask hub method
...
Wire TaskResetService into DI and add WorkerHub.ResetTask with the
same InvalidOperationException/KeyNotFoundException error-translation
pattern as ContinueTask.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-21 17:35:37 +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
133774cb86
docs: add implementation plan for continue and reset buttons
2026-04-21 16:47:51 +02:00
Mika Kuns
a3bb557d76
docs: add spec for continue and reset buttons on failed tasks
2026-04-21 16:43:54 +02:00
Mika Kuns
23f8fddc4d
docs: add UI-rewrite notes, plans, and stream-formatter spec
2026-04-21 15:56:19 +02:00
Mika Kuns
a180e8446c
chore(worker): tweak launchSettings
2026-04-21 15:56:14 +02:00
Mika Kuns
0406d35b61
style(ui): polish islands and remove terminal traffic-light dots
2026-04-21 15:56:07 +02:00
Mika Kuns
e6b37624a1
feat(ui): add settings modal and wire to worker hub
2026-04-21 15:55:53 +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
4283c67d81
fix(worker): prefix broadcast lines with [stdout] so UI parser routes them
2026-04-21 15:35:40 +02:00
Mika Kuns
883c98dc0a
chore(claude-do): Improve the Readme
...
ClaudeDo-Task: 2d1915154c1448118a7e0158c13de113
2026-04-21 15:31:26 +02:00
Mika Kuns
374e811e78
feat(ui): render user tool_result blocks as one-line summaries
2026-04-21 15:13:00 +02:00
Mika Kuns
ec679e45ed
fix(ui): truncate WebFetch URL in tool_use arg
2026-04-21 15:11:17 +02:00
Mika Kuns
3a67fe81b4
feat(ui): render assistant tool_use blocks with per-tool args
2026-04-21 15:08:35 +02:00
Mika Kuns
dc6e3fe442
feat(ui): render assistant text blocks, skip thinking
2026-04-21 15:05:40 +02:00
Mika Kuns
b525498770
feat(ui): format system init message in StreamLineFormatter
2026-04-21 15:03:29 +02:00
Mika Kuns
668087cda4
refactor(ui): skeleton dispatch for StreamLineFormatter rewrite
2026-04-21 15:00:00 +02:00
Mika Kuns
b4741137d0
docs(settings-modal): add design spec
...
Approved design for a general-settings modal behind the user-footer ⋯ button: Claude defaults, worktree defaults + maintenance actions, About section.
2026-04-21 13:32:58 +02:00
mika kuns
e19a9d373e
fix(ui): filled window icons, boxed task rows, proper explorer button
...
- Window controls (min/close) were stroke-only paths — PathIcon fills
geometries, so only max rendered. Swap all three (and BrandCheck) to
closed filled shapes.
- Task rows now have a 1px LineBrush border + rounded 8px box with
subtle AccentSoft hover, matching the mock's visible row separation.
- "Open in explorer" button switched from icon-btn to btn class so it
matches "Open diff" / "Worktree" framing, with a proper Lucide-style
filled arrow geometry.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-20 12:02:08 +02:00
mika kuns
42fb7cee0d
fix(ui): NAVIGATOR eyebrow — drop broken converter binding
...
The Binding had no Path, so it bound to ListsIslandViewModel itself
and the UpperCase converter produced the fully-qualified type name,
which rendered as "CLAUDEDO.UI.VIEWMODELS.ISLAI..." in the header.
Replace with literal Text="NAVIGATOR".
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-20 11:54:36 +02:00
mika kuns
5acc896d5c
fix(ui): wire delete confirm, close-details, uppercase eyebrow, explorer button
...
- A1: list-name eyebrow runs through UpperCase converter.
- D2: + Open-in-explorer icon button in AgentStrip (Process.Start on worktree path).
- D4: DeleteTaskCommand prompts inline confirm Window before deleting; shell
wires Details.CloseDetail to clear Tasks.SelectedTask and Details.DeleteFromList
to reload the current list.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-20 11:47:10 +02:00
mika kuns
9b1178ca2f
style(ui): subtasks, notes, details metadata footer
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-20 11:39:40 +02:00
mika kuns
01af8cb7d7
style(ui): session terminal header, line columns, LIVE chip
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-20 11:36:39 +02:00
mika kuns
c3f077e3b6
style(ui): agent strip with worktree panel and diff meter
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-20 11:35:33 +02:00
mika kuns
b64ff3d908
style(ui): details header with logbook eyebrow and task-id badge
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-20 11:34:28 +02:00