From d2bb2a809b8a29b7a45fcb9168f982f089ae6e4b Mon Sep 17 00:00:00 2001 From: Chinesezjc Date: Mon, 27 Jul 2026 12:08:46 +0800 Subject: [PATCH] fix(web-todo): dock-owned selection, keyboard-openable row, documented tail todos field Three ds-review-bot round-8 findings on the todo display surfaces. TodoPanel took the whole `useSession` hook and cast the snapshot to reach `todos`, which put slot plumbing and an unchecked cast inside the presentation component. The panel now takes `todos: readonly TodoItem[]`; TodoDock does the selecting, matching the QueueDock posture the dock slot already establishes. The todo row carried `onClick` with no keyboard route, so its details panel was mouse-only. It now takes ToolRow's route verbatim: `role="button"`, `tabIndex={0}`, and an Enter/Space handler that claims the event. The row stays a `
` because a `