Skip to content

feat(web): task list in the activity popover sits on a spine - #213

Merged
badcuban merged 3 commits into
mainfrom
fix/task-list-spine
Sep 3, 2026
Merged

feat(web): task list in the activity popover sits on a spine#213
badcuban merged 3 commits into
mainfrom
fix/task-list-spine

Conversation

@badcuban

@badcuban badcuban commented Sep 3, 2026

Copy link
Copy Markdown
Collaborator

The task rows in the header activity popover were filled grey, blue, and green boxes with struck-through text. It looked bad on phone and desktop and fought the flat design rule.

The steps now sit on the shared thread spine: a quiet dot for done steps, the pulsing accent tick for the current one with the line warming toward it, and a faint hollow ring for steps not started. The Done/Now/Next column is gone (kept for screen readers) and completed text is dimmed instead of struck through. The spine dot moves into ui/threadline so the chat feed and this list share it.

Second commit: task titles could carry a leaked tool-call tail (</subject><parameter name="description">...) when the model mis-closes the subject tag and Claude Code's parser folds the next parameters into it. The adapter now strips that tail wherever it reads a task subject, so the plan step and activity feed label stay clean.

Verified with fmt, lint, typecheck, the Claude adapter tests, and the popover browser tests. Screenshots checked in dark, light, and at phone width.

The task rows in the header activity popover were filled grey, blue, and
green boxes with struck-through text, which reads badly on phone and desktop
and fights the flat design rule.

Render the steps as rows on the shared thread spine instead: a quiet dot for
done steps, the pulsing accent tick for the current one with the line warming
toward it, and a faint hollow ring for steps not started. The Done/Now/Next
column is gone (kept for screen readers) and completed text is dimmed, not
struck through. SpineNode moves from MessagesTimeline into ui/threadline so
both surfaces share one dot.
When the model mis-closes the subject parameter of a TaskCreate call
(`</subject>` instead of `</parameter>`), Claude Code's lenient parser folds
the description and activeForm into the subject, so the plan step in the
activity popover showed the whole tool call.

Strip a stray closing tag that is followed by another parameter or the end of
the string wherever a task subject is read: create, update, TaskCreate and
TaskList results, and the activity feed labels.
@vercel

vercel Bot commented Sep 3, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
threadlines Ready Ready Preview Sep 3, 2026 7:48pm UTC

Request Review

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:L labels Sep 3, 2026
@badcuban
badcuban merged commit 747c2e5 into main Sep 3, 2026
16 checks passed
@badcuban
badcuban deleted the fix/task-list-spine branch September 3, 2026 19:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant