fix(desktop): contain deeply nested task rows in the task panel - #4215
fix(desktop): contain deeply nested task rows in the task panel#4215liuxiaocs7 wants to merge 2 commits into
Conversation
2d63592 to
8f4c92b
Compare
hqhq1025
left a comment
There was a problem hiding this comment.
Codex-assisted review performed under the maintainer-approved review workflow.
I found one P2 coverage gap. This PR adds two real-component Storybook states for recent terminal tasks and an eight-level task chain; I inspected the complete diff plus TaskLedgerPanel, its model tests, CSS, and the latest-main synthetic merge.
Validation: hosted test is green; exact-head Storybook typecheck, build, 198-story interaction/AX smoke, Biome, and the 264-test UI suite passed. The synthetic merge 8340a25894e60f2e1d74613ca091c57a466239ae also passed Storybook typecheck/build and the 203-story interaction/AX smoke, with ASF headers clean.
I could not validate native Electron-only behavior beyond the real Storybook component path, but the reported overflow is deterministic DOM geometry in both wide and narrow canvases.
Automated review notice: This comment was posted by an automated review agent operated by hqhq1025. It is not an independent human review and does not replace one.
Eighth surface under apache#3944 (one surface per PR): extend the 任务 panel (TaskLedgerPanel, via Product/Session Workbar) with the states the existing Tasks / TasksEmpty / TasksLoadFailed stories never reach. - TasksRecentlyFinished — the 最近结束 section with a failed task (+ reason) and a cancelled task, plus four finished tasks so the three-item cap drops the oldest. - TasksDeepNesting — an eight-level subtask chain; the play asserts the deepest row renders (reachability). The indent clamp (`--task-depth`) is a computed-style contract left to focused tests (review feedback). pending / in_progress / blocked / completed, owners, and shallow nesting were already covered by Tasks; failed, cancelled, the recent-finished cap, and deep nesting were not. stale / responding / unread / project-grouping have no UI in this panel and are left out. Refs apache#3944, apache#3893 Generated-by: Claude Code
Keep nested task groups at the panel width, apply depth indentation only to row content, and assert the deepest task has no horizontal overflow. Generated-by: Codex
da68dc2 to
0f2e1f7
Compare
Summary
Extends the real
TaskLedgerPanelStorybook surface with task states that the existing Tasks / TasksEmpty / TasksLoadFailed stories did not cover:TasksRecentlyFinishedcovers failed and cancelled outcomes, failure detail, and the three-item recent-terminal cap.TasksDeepNestingcovers an eight-level task chain and asserts that the deepest visible row remains contained with no horizontal overflow.Refs #3944, #3893
Verification
npm --workspace @maka/ui run typechecknpm --workspace @maka/desktop run typecheck:storiesnpm --workspace @maka/ui run test— 275 tests passednpx biome check apps/desktop/stories/session-workbar.stories.tsx apps/desktop/src/renderer/styles/task-ledger.css packages/ui/src/task-ledger-panel.tsxnpm --workspace @maka/desktop run build-storybooknpm --workspace @maka/desktop run smoke:storybook— 207 stories passed, includingproduct-session-workbar--tasks-deep-nestingAI use
Tool(s) and scope: Claude Code authored the original Storybook stories. Codex resolved the merge conflict, implemented the nested-task layout fix, added the overflow regression assertion, and ran verification. Affected commits retain
Generated-bytrailers.Checklist
Does this PR entail a change in behavior?