Fixes automatic paste on Windows, where the panel could leave the target
window active but without keyboard focus, and restores a safer paste timing
default. Also repairs the Homebrew tap, which could not be installed at all.
Windows paste
- The paste path no longer attaches input queues when the destination is
already in the foreground. Hiding the panel hands the foreground back on its
own; attaching and detaching on top of that reset the keyboard focus Windows
had just restored, leaving the target active but unable to receive Ctrl+V. - Paste timing now defaults to the Normal preset (80/120 ms). v2.8.0 moved
Windows onto Instant (0/20 ms) assuming native focus verification made fixed
delays unnecessary; that check only proves the target is the active window,
so the paste could outrun apps that route keyboard focus internally.
Configurations left on the untouched Instant preset migrate automatically,
and tuned values are preserved. - Added a diagnostic warning when the destination is active but holds no
keyboard focus.
Reliability
- Orphan image cleanup no longer aborts when an external reference lives on an
unreachable network volume. A failed probe is now told apart from a missing
file, so an offline volume does not start the purge clock and orphan files
are no longer stranded on disk indefinitely. - Deleting the fallback BMP retries while another process still holds the
file handle.
Homebrew
- The Linux formula is now copypaste-linux, leaving the copypaste token to the
macOS cask. "brew install copypaste" resolved to a formula that failed to
load, and the cask was only reached through a fallback. - Dropped "bottle :unneeded", which Homebrew removed, and replaced the
deprecated "depends_on macos:" string comparison. - Declared the GPL-3.0-only license on the formula.
Tests
- SingleInstance isolates its OS-global mutex, pipe and wakeup file names, so
the suite no longer fails when CopyPaste is running on the same machine. - The Windows paste-timing migrations are now exercised from any host, instead
of being skipped everywhere coverage actually runs. - The release manifest cache test awaits its stream instead of a fixed delay,
which raced under a loaded suite.
Known limitation
- Pasting from the panel into a VS Code extension webview (Claude Code,
Copilot) does not reach the input. Chromium routes keyboard focus inside
Blink, where Win32 cannot restore it once the panel takes activation. The
direct plain-paste hotkey works there because it never activates the panel.
Severity: recommended
Min-Supported: 2.8.0
What's Changed
- fix paste times by @rgdevment in #55
Full Changelog: v2.8.0...v2.9.0