fix: sidebar drag regression, short-bubble wrap, pi version probe#92
Merged
Conversation
Three post-v0.1.24 fixes: - The sidebar width restore ran every frame, snapping the panel back during a drag (on_resize only records on mouse-up) — the sidebar could no longer be resized at all. The restore is now armed only by a viewport width change and disarms once the panel reports the restored width. - Short user messages wrapped their last glyph to a second line: the measured intrinsic width could lose to sub-pixel snapping. Ceil the computed bubble width and add 1px slack. - pi prints --version to stderr; provider probes treated the empty stdout of a clean exit as a failed run. Fall back to stderr. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.
Three targeted fixes for issues found using v0.1.24:
Sidebar can't be dragged (regression from #80): the remembered-width restore ran on every render frame, and since
on_resizeonly records the width on mouse-up, each in-progress drag frame was snapped back. The restore is now armed only when the viewport width actually changes (the fullscreen/rescale trigger it was built for) and keeps applying just until the panel reports the restored width, so it can never fight a drag.Short user messages wrap their last character (regression from #83): the intrinsic bubble width from
layout_linecould lose to sub-pixel snapping, wrapping the final glyph — most visible with CJK, where any 1px deficit moves exactly one character. Width is now ceiled with 1px slack.pi shows "installed but failed to run": pi prints
--versionto stderr;run_capture_envtreated a clean exit with empty stdout as failure. It now falls back to stderr (verified locally against pi 0.80.10).Gates: fmt / clippy (services+ui) / services+ui tests green locally; full workspace gate on CI.
🤖 Generated with Claude Code