Skip to content

fix(ui): state an aborted turn's outcome after its timeline - #4090

Merged
Astro-Han merged 4 commits into
mainfrom
fix/turn-abort-marker-after-timeline
Aug 28, 2026
Merged

fix(ui): state an aborted turn's outcome after its timeline#4090
Astro-Han merged 4 commits into
mainfrom
fix/turn-abort-marker-after-timeline

Conversation

@Astro-Han

@Astro-Han Astro-Han commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

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 ChatSystemMessage as the Chat-family primitive for inline status notices. Its Badge guidance 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

  • Move the aborted outcome after the completed assistant message as a top-level ChatSystemMessage sibling.
  • Preserve the existing Ban icon and stop-source detail while removing the marker-era parentheses.
  • Remove the aborted Marker variant and its bespoke visual CSS; no aborted-state layout or appearance recipe remains in Maka.
  • Cover the official status-notice component, localized copy, and after-timeline ordering.

Before / After

The same InterruptedToolAfterTurnAbort fixture, locale, theme, and viewport. The outlines identify the status location.

Before and after: the custom aborted Marker moves from above the timeline to an Astryx ChatSystemMessage after the timeline

Validation

  • npm --workspace @maka/core run build
  • npm --workspace @maka/ui run build
  • node --test packages/ui/dist/__tests__/chat-turn-answer-identity.test.js packages/ui/dist/__tests__/conversation-copy.test.js — 12 pass
  • npm --workspace @maka/ui run typecheck
  • npm run format:check
  • Storybook InterruptedToolAfterTurnAbort comparison against origin/main

Generated-by: Maka, Codex

@github-actions github-actions Bot added the effort/S Under 100 readable lines label Aug 28, 2026
@Astro-Han
Astro-Han force-pushed the fix/turn-abort-marker-after-timeline branch from b9235e9 to 6104b86 Compare August 28, 2026 13:47
@Astro-Han
Astro-Han marked this pull request as ready for review August 28, 2026 13:50

@jackwener jackwener left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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
@Astro-Han
Astro-Han force-pushed the fix/turn-abort-marker-after-timeline branch from 6104b86 to 6456a63 Compare August 28, 2026 17:23
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
@Astro-Han
Astro-Han merged commit 2c06631 into main Aug 28, 2026
1 check passed
@Astro-Han
Astro-Han deleted the fix/turn-abort-marker-after-timeline branch August 28, 2026 19:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

effort/S Under 100 readable lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants