mirror of
https://github.com/stablyai/orca.git
synced 2026-10-20 16:03:20 +00:00
* fix(terminal): stop middle-click primary paste inserting twice on X11 When "Middle-click Paste from Selection" is enabled, the integrated terminal reads the X11 PRIMARY selection on mousedown and writes it to the PTY itself. It calls preventDefault on the mousedown, but Chromium's native X11 middle-click primary paste fires on mouse release regardless, landing in xterm's helper textarea, which xterm then forwards to the PTY a second time. The result is the selection pasted twice. The global primary-selection hook already suppresses the follow-up native paste, but only for editable DOM targets it owns via a pending-target handle; it deliberately excludes xterm, so the terminal path had no suppression at all. Arm a short shared suppression window when the terminal handles a middle-click, and have the global hook's capture-phase beforeinput/paste suppressor honor it. This swallows the single native paste event so the selection reaches the PTY exactly once. Ctrl+Shift+V and right-click paste are unaffected: they use the CLIPBOARD and never emit a native primary-paste event. Closes #8860 * docs(terminal): clarify native middle-click paste suppression * fix(terminal): scope primary-selection native-paste suppression to Linux xterm Gate the armed native-paste suppression window to Linux (X11 primary-selection path) and scope it to xterm's helper textarea so unrelated document pastes and non-Linux platforms are never affected. Re-arm on auxclick for slow releases. Co-authored-by: Orca <help@stably.ai> --------- Co-authored-by: Neil <4138956+nwparker@users.noreply.github.com> Co-authored-by: Orca <help@stably.ai>