Repository navigation
native2: select Safari web text by text markers; #99 refusal order - #187
Merged
Merged
Conversation
…e receiver before checking focus Why: native2/Sources/DesktopMac/WebText.swift | Safari on macOS 27 dropped AXStart/EndTextMarkerForTextMarkerRange; bounds(of:) reads both ends from the AXTextMarkerRange itself Why: native2/Sources/DesktopMac/Paste.swift | the receiver check comes before requireKeyboardFocus so a background web field gets PASTE_UNVERIFIABLE_RECEIVER, as on Node, not a focus refusal
iamnbutler
added a commit
that referenced
this pull request
Oct 20, 2026
iamnbutler
added a commit
that referenced
this pull request
Oct 20, 2026
iamnbutler
added a commit
that referenced
this pull request
Oct 20, 2026
#188) (#189) * native2: selecting web text focuses the page, so Edit > Copy copies it (#188) Why: native2/Sources/DesktopMac/WebText.swift | Safari focuses its address field when it opens a page in the background, so Copy after a marker selection copied the URL; focus the web area before selecting, since focusing can move the selection Why: scripts/live-check.mjs | Safari disables Copy and has no in-window keyboard focus while inactive, so the #88 copy runs Edit > Copy after desktop_activate; background Command-C and Edit > Copy are refused * lane: sync web-copy memory * lane: confirm and update notes * lane: sync web-copy memory * CHANGELOG: #187's web selection and paste fixes
Merged
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.
From running the Safari live checks on the installed v0.17.0 (11 of 14 passed).
desktop_selectin web content: native2 refused any element without a settable AXSelectedTextRange. This ports Peekaboo's WebTextSelection: non-editable web text is selected through its web area'sAXSelectedTextMarkerRange, matched by index markers or, failing that, by marker stepping (2048 steps / 300 ms), and read back exactly. Both feat: select text in web pages through WebKit text markers #88 selections now complete with the right range.replace) is now refused with PASTE_UNVERIFIABLE_RECEIVER first, as on Node. Both feat: paste an image or files into a native text area with desktop_insert, or leave the clipboard replaced on request #99 checks pass.Still failing: #88's Command-C after the selection copies nothing. Safari disables Copy while it isn't active (
desktop_menuEdit > Copy is refused as disabled), and even afterdesktop_focusthe copy doesn't pick up the marker selection. Filed separately.swift test --filter CoreTestspasses, and the release build has no warnings.