fix(ui): state an aborted turn's outcome after its timeline - #4090
Conversation
b9235e9 to
6104b86
Compare
jackwener
left a comment
There was a problem hiding this comment.
I reviewed exact head 6104b860b6d9504ea9b8a125d57cff8eecb98df4.
The aborted-turn marker now sits after the timeline, next to the failed banner. Both are terminal outcomes, so they should not sit above work that already succeeded. Spacing matches the failed banner. aborted and failed cannot both render.
No blocking issues on this head.
Posted by an automated review agent operated by @WAWQAQ. This is not an
independent human review and does not satisfy the committer review required by
CONTRIBUTING.md. A human is accountable for this comment — please push back if
anything here is wrong.
简体中文
我审了当前 head。中断标记已移到时间线后面,和失败横幅同一位置。没有阻塞问题。
本条评论由 @WAWQAQ 运行的自动化审查程序发出。它不构成 CONTRIBUTING.md
所要求的独立人类审查,也不能替代人类审查。有人类对本条评论负责,如有错误请直接指出。
The aborted marker rendered at the top of the assistant answer, above the reasoning disclosures and tool calls, where it read as a header on work that had in fact all completed. PR #4073 moved the failed banner below the timeline for exactly this reason but left the aborted marker behind; both are terminal outcome markers and share the same slot, so move the aborted marker next to the failed banner and match its block rhythm. Generated-by: Maka
Aborted turns are settled facts, but their outcome was rendered through a Maka-only Marker variant and bespoke visual recipe. Render the terminal outcome with Astryx's neutral Badge while preserving its position after the timeline, retain only the flex alignment needed by the transcript container, and cover both the component contract and ordering. Generated-by: Codex
6104b86 to
6456a63
Compare
An aborted turn is a short, settled status change with no recovery action. Astryx documents ChatSystemMessage as the Chat-family primitive for inline status notices, while Badge is reserved for states users need to notice or act on. Render the outcome as a system-message sibling after the assistant timeline, remove the marker-era parentheses and layout hook, and pin the component, copy, and ordering contracts. Generated-by: Codex
Generated-by: Codex
Why
An aborted turn used to render its outcome above the reasoning disclosures and tool calls, where it read as a header on work that had already completed. The outcome belongs after that timeline.
The outcome is a short, settled status change with no recovery action. Astryx 0.5.0 documents
ChatSystemMessageas the Chat-family primitive for inline status notices. ItsBadgeguidance instead reserves badges for states users need to notice or act on, so an abort should not be promoted to a pill or an error banner.What
ChatSystemMessagesibling.Markervariant and its bespoke visual CSS; no aborted-state layout or appearance recipe remains in Maka.Before / After
The same
InterruptedToolAfterTurnAbortfixture, locale, theme, and viewport. The outlines identify the status location.Validation
npm --workspace @maka/core run buildnpm --workspace @maka/ui run buildnode --test packages/ui/dist/__tests__/chat-turn-answer-identity.test.js packages/ui/dist/__tests__/conversation-copy.test.js— 12 passnpm --workspace @maka/ui run typechecknpm run format:checkInterruptedToolAfterTurnAbortcomparison againstorigin/mainGenerated-by: Maka, Codex