Repository navigation
feat: add click-move-click range selection and VOM state - #516
Merged
Merged
Conversation
This was referenced Oct 29, 2026
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.
Some range controls select by clicking/releasing the start, moving with no button held, and clicking/releasing the end. A held drag can finish successfully without selecting those controls. Add explicit
--mode click-move-clickand observable selection evidence.Dependency and review boundary
Stacked on #513 (
feat/drag-interactionsat8465b04); merge #513 first. The diff against that branch contains only range selection and its protocol, VOM, documentation, fixtures and tests. Observation saving/folding,view,step, and shared business-RPC cancellation changes are in #517.Behavior
bsk drag --mode click-move-clickreleases the start before moving withbuttons=0, rechecks the destination, then clicks/releases the end. It requires a destination and zero hold; held drag remains the default.dragCLI rejects an older daemon, and the daemon rejects an older extension before forwarding the new mode. Legacy drags remain supported.Validation
On the standalone range branch (macOS arm64):
The previously failing frontend CI had two tests that assumed a fixed protocol 1.7 was newer than the extension. These tests now derive the next minor version, preserving their original compatibility assertions. No connection-controller production behavior changed.
The existing pointer transaction implementation remains inherited unchanged from #513. This PR introduces no observation cache or public
stepcommand and does not change shared business-RPC cancellation. CI on this split head must pass before merge.