Repository navigation
fix: keep message action bars stable under the pointer - #19
Merged
Merged
Conversation
Track pointer geometry during mouse capture so the action bar's own occlusion does not clear its message's hover state. Recheck bounds when the pane loses hover, preserving ownership over the raised buttons and clearing it when the pointer leaves. Keep button events unconsumed. Cover toolbar crossings and stationary reevaluation with a regression and document the hover region. All three message action tests pass. Co-Authored-By: GPT-6 <noreply@openai.com>
itz4blitz
approved these changes
Oct 17, 2026
itz4blitz
left a comment
Owner
There was a problem hiding this comment.
Hover now follows the pointer across the raised action bar. The window listener is registered for the next frame during paint, the same way the text view already does, and it does not consume the event, so the buttons still receive the click. point_at still returns immediately while a menu, picker, confirm, or viewer is open, so those keep the row. The geometry test covers the occluding bar, a press that stays on it, and leaving the pane. macOS, Linux, and Windows are green on ff0ac94.
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.
The message action bar flickered and lost clicks when the pointer moved onto its reaction/reply buttons. Its occluding hitbox made the pane report hover loss, which removed the toolbar; post-layout pointer tracking then recreated it. Right-click menus remained usable.
Track pointer geometry in a frame-scoped mouse-capture listener, and recheck row/toolbar bounds on pane hover loss instead of clearing ownership unconditionally. Retain the current message when moving onto its raised action bar and clear hover outside the viewport. Do not consume mouse events: tool buttons keep their existing click handlers and mouse-down propagation protection. Keep the existing menu/picker ownership and selection-drag suppression.
Update the system design specification with the hover-region behavior. Based directly on upstream
main.Validation:
git diff --checkpasses.