Conversation
The session rail's only in-progress cue was the 8px StatusDot's opacity breathe - too subtle to read as "running", especially in peripheral vision, and `prefers-reduced-motion` removed even that, leaving a running row visually identical to a settled one. The signal gutter now wraps the dot in a spinning accent arc while a turn is working (`data-working`, set from the same `isPulsing` fact that already drives the pulse, so live responding and the persisted running fallback both get it). The rotation reuses the existing `maka-spin` keyframe; under reduced motion the animation drops and the arc stays as a static ring, which keeps a motion-independent mark on the row. The dot, its colour vocabulary, and the row's one-dot design are untouched; the arc is absolutely positioned in the existing fixed gutter, so rows do not shift. Fixes apache#5519 Generated-by: GLM-5.3-Flash (ZCode)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes #5519
The session rail's only in-progress cue was the 8px StatusDot's opacity breathe — too subtle to read as "running" (the issue's own analysis), and
prefers-reduced-motionremoved even that, leaving a running row visually identical to a settled one.The signal gutter now wraps the dot in a spinning accent arc while a turn is working:
data-workingattribute on the existingmaka-session-row-signalspan, set from the sameisPulsingfact that already drives the pulse — so live responding and the persisted running fallback both get it, with no changes tosessionRowSignalsor the status vocabulary.maka-spinkeyframe andvar(--accent); no new palette decisions.prefers-reduced-motionthe animation drops and the arc remains as a static ring — the non-motion fallback the issue asks for.inset: -3pxaround the 8px dot), so rows do not shift and the one-column rail reading is untouched. The dot's colour semantics stay exactly as they are.No design-system package change needed (
@astryxdesign/coreis untouched); everything lives in@maka/ui.Verification
session-history-working-mark.test.tsx(responding / persisted-running / settled)@maka/uisuite (test:dist)npm run check:asf-headersNot run: the desktop app itself (renderer smoke needs a display session); CI covers the renderer build.
AI use
Analysis, patch, and tests done with GLM-5.3-Flash (ZCode) under human review.
Checklist
isPulsing), keyframes (maka-spin), and tokens (var(--accent))@maka/uiis a sanctioned migration target)