0.6.1: spinner honours reducedMotion, keeps its readout whole, centres as one block - #89
Merged
Conversation
…d centres as one block Three things a review of 0.6.0 turned up. `reducedMotion` has been a public AppOption since 0.1.0 with nothing reading it; it now rides the render context and the spinner, the first widget to drive its own redraws, holds its first frame and asks for no more frames under it. A readout that did not fit was cut to "34…", which reads as a different number; it is drawn whole or not at all, and a one-column remainder after the glyph stays blank instead of becoming a lone ellipsis. `align: "center"` measured the row as one block and then pinned the readout to the right edge; the readout now sits where it was measured. The root README's widget list gains the spinner, matching the package README. Tests cover each, plus the ASCII fallback through the capabilities override. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011gfb1vcQH5rf82HfbJvf1Z
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.
What
Follow-ups from an adversarial review of the 0.6.0 spinner (three lenses, each finding independently verified against the source):
reducedMotionis now real. It has been a publicAppOptionsince 0.1.0 with nothing reading it. It now ridesRenderContext(app, scrollback and the testing renderer), andContainer.spinner()holds its first frame and does not callinvalidate()under it. Test asserts no redraw request.349/1200cut to34…reads as a different number. A readout that does not fit is dropped; a one-column remainder after the glyph stays blank rather than a lone ellipsis (the separating space is drawn on its own and only the words are truncated).align: "center"measured glyph+label+readout as one block, then pinned the readout to the right edge. The readout now sits where it was measured; left and right still pin it to the edge.README.mdwidget list gainsspinner, matchingpackages/hqtui/README.md.*done mark throughcapabilities: { unicode: false }, and the unnecessaryui.ctxcast is gone.Not in this PR, noted for a follow-up: the widget gallery, hqtui.com catalog and demo do not list the spinner because
apps/web/test/widgets.test.tsenforces parity across all eleven language ports, so listing it means porting it everywhere.Version
0.6.0 → 0.6.1 in every hand-written place the version test ties together, plus
bun.lock.Tested
bun run typecheck,bun test packages/hqtui/test(315 pass),bun run build.🤖 Generated with Claude Code
https://claude.ai/code/session_011gfb1vcQH5rf82HfbJvf1Z