Conversation
|
Integrated pass in a real client (web, worktree build at head 94e5450, isolated state, real provider turns): ChatView lifecycle is healthy across multiple provider-driven turns (task creation, file edits, completion) — no crashes, no console errors, composer/banners/stash all behave. One gap I could not close: the tasks badge itself never renders because no provider available to me emits plan events. The CC (claudeAgent) harness exposes no TodoWrite tool, and native Codex (0.153.4 via app-server) turns completed without any Reduced motion remains verified by the component tests ( |
ed8a006 to
aad8b0d
Compare
Task progress segments in the composer tasks badge switch from grey to green instantly, which makes a real task completion easy to miss.
What changed
Each segment now holds a decorative green fill that scales in from the left over 180 ms (
transition-transform duration-180 ease-out) when its task completes. The current-task label and completed count still update immediately. Existing history renders at its current state, andmotion-reduce:transition-noneskips the tween for reduced-motion users. This uses plain Tailwind classes like the rest ofapps/web, with no JS animation library and no new dependency. Only the web/desktop badge (ComposerTasksBadge.tsx) changes; the native mobile client is out of scope.Related: #10250. Task-row status semantics landed separately in #10128.
Media
These recordings come from an earlier revision that animated the same 180 ms ease-out transform with Motion. The current code swaps Motion for an equivalent CSS transition, and I haven't re-recorded it. They show the real
ComposerTasksBadgewith a synthetic task sequence in an isolated Vite app (dark theme, 1280×800).Before:
After:
Before video · After video
Verification
Rebased onto
mainat 211618f. Targetedvp lint apps/web/src/components/chat/ComposerTasksBadge.tsxandapps/webtypecheck both pass. The change is class-only, so there's no new unit test.Checklist
Coordination trace: T3 thread e10b5b61-fcab-4631-ad0c-e9b702dcb786
Model and harness: GPT-6 Astra medium in Codex/T3 Code (implementation); Claude Opus 5 in Claude Code (rebase and review-readiness).
🤖 Generated with Claude Code