feat(ui): planning sessions UI (Plan C) #5
Reference in New Issue
Block a user
Delete Branch "feat/planning-sessions-ui"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Wires the planning-session feature into the UI (Plan C of the planning-sessions design).
TaskRowViewModelgains hierarchy flags (ParentTaskId,IsChild,IsPlanningParent,IsExpanded,PlanningBadge,IsDraft) and context-menu gates (CanOpenPlanningSession,CanResumeOrDiscardPlanning).TasksIslandViewModelgets five[RelayCommand]methods (Open/Resume/Discard/Finalize/ToggleExpand) and a hierarchy-awareRegroup()that interleaves children after their planning parent when expanded.WorkerClientadds five hub-method wrappers (StartPlanningSessionAsync,ResumePlanningSessionAsync,DiscardPlanningSessionAsync,FinalizePlanningSessionAsync,GetPendingDraftCountAsync) plus DTOs. Hub method names are string-based, so no build-time dependency on Plan B.TaskRowViewgrows an indent column, chevron toggle, DRAFT/PLANNING badges, and italic/faded styling for drafts.UnfinishedPlanningModal(Resume / Finalize now / Discard / Cancel) triggers when the user right-clicks a Planning parent.DbUpdateException.Test plan
dotnet buildfor Worker / Ui / App — cleanTaskRowViewModelPlanningTests+ 4 newTasksIslandViewModelPlanningTests— 8/8 passno such table: listsfailures unchanged, predating Plan C)Known followups (non-blocking, tracked in docs/open.md)
Border.badge.plannedstyle defined but unreachable -- Planned status renders with the amberplanningclass. Either makeTaskRowViewswapClasses.plannedwhenStatus == Planned, or remove the unused style + brush.Instancestatics onBoolToItalicConverter/BoolToDraftOpacityConverter.Regroup()coversOverdueItems/OpenItems/CompletedItemscorrectly, but a Planning parent that lands inOverdueItemswill be visually separated from its draft children (which go toOpenItems). Deterministic; spec is silent on this corner.Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com