Skip to content

Fix clipboard sync negotiation after protocol v3 upgrade - #102

Merged
github-actions[bot] merged 2 commits into
mainfrom
fix/clipboard-protocol-negotiation
Oct 16, 2026
Merged

github-actions[bot] merged 2 commits into
mainfrom
fix/clipboard-protocol-negotiation

Conversation

@zibo-chen

Copy link
Copy Markdown
Contributor

Change

Desktop peers upgraded to clipboard replication v3 authenticate successfully, then disconnect because the welcome check only accepts v1 and v2. Validate the selected version against the same protocol constant advertised in the hello, while retaining the legacy control path for older negotiated versions and rejecting missing, unselected, zero, and future versions.

Add a real paired QUIC handshake regression through the desktop connection manager. It checks that the current version reaches the connected state, registers the replica transport, and transfers distinct text records in both directions without closing the control connection.

The integration packaging job also failed on Xcode 27 because the share extension inherited a macOS 10.13 target. Set that extension's minimum to macOS 12.0 in both the XcodeGen source and checked-in project so the CI package can be produced.

Validation

  • All 14 desktop clipboard sync tests pass.
  • Restoring the old version guard makes both the current-version validation and real handshake regressions fail.
  • cargo fmt --all -- --check
  • cargo check --workspace --all-targets
  • cargo clippy -p arcrelay-desktop --all-targets -- -D warnings
  • Share extension compiled with Xcode 27 for arm64 and x86_64; verified the resulting binary and macOS 12.0 minimum.

Public boundary

  • This change contains no proprietary mobile source, credentials, internal URLs, product design sources, QA capture images, or internal test reports.
  • I have completed the ArcRelay Contributor License Agreement, or I am contributing on behalf of the project owner.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated approval for an allowlisted maintainer. Required CI, CodeQL, and branch protections still apply.

@github-actions
github-actions Bot merged commit 54f9d0d into main Oct 16, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant