Fix cursor handoff, configurable layout, and installed update reliability #26

Merged
erik merged 1 commit from fix/cursor-height-handoff into main 2026-11-07 12:31:34 -06:00
Owner

Summary

Preserve cursor height when handing control to Linux and support Linux on either side of the Mac. Fix receiver startup after GNOME logout/login and prevent local macOS packages from silently losing their signing identity during updates.

Task

Requested directly in this chat; no tracked task ID.

Changes

  • Forward handoff height through GNOME IPC and position the cursor on the entering edge.
  • Add matching Mac linuxSide and receiver KVSHARE_LINUX_SIDE settings, defaulting to the existing right-side arrangement. Reverse entry, return, and Mac cursor placement for the left-side arrangement.
  • Start the receiver with graphical-session.target and document migration of existing enablement links.
  • Require persistent macOS signing by default, support a private local signing-identity file, and allow ad-hoc signing only for explicitly opted-in diagnostic builds.
  • Add routing, configuration, IPC, extension, and signing regression coverage and update setup documentation.

Testing

  • Unit tests added/updated
  • ./scripts/pre-pr.sh passed, including Rust/Swift tests, linting, macOS app build, and release tooling checks.
  • node --test scripts/test-gnome-extension.mjs passed all seven tests.
  • Linux tests, Clippy, and package build passed on the target workstation.
  • Signed macOS package built and installed; signature verified. Two different test builds satisfied the same persistent designated requirement.
  • Manual testing performed: installed components, verified receiver/extension communication and left-side configuration, and user confirmed working operation after refreshing permissions.

Checklist

  • ./scripts/pre-pr.sh passes
  • Documentation updated
  • No unrelated changes included

The first transition from an ad-hoc build to persistent signing can require renewed macOS permissions. Both layout settings must match; layout is not negotiated over TCP. GNOME extension updates require logout/login.

## Summary Preserve cursor height when handing control to Linux and support Linux on either side of the Mac. Fix receiver startup after GNOME logout/login and prevent local macOS packages from silently losing their signing identity during updates. ## Task Requested directly in this chat; no tracked task ID. ## Changes - Forward handoff height through GNOME IPC and position the cursor on the entering edge. - Add matching Mac `linuxSide` and receiver `KVSHARE_LINUX_SIDE` settings, defaulting to the existing right-side arrangement. Reverse entry, return, and Mac cursor placement for the left-side arrangement. - Start the receiver with `graphical-session.target` and document migration of existing enablement links. - Require persistent macOS signing by default, support a private local signing-identity file, and allow ad-hoc signing only for explicitly opted-in diagnostic builds. - Add routing, configuration, IPC, extension, and signing regression coverage and update setup documentation. ## Testing - [x] Unit tests added/updated - [x] `./scripts/pre-pr.sh` passed, including Rust/Swift tests, linting, macOS app build, and release tooling checks. - [x] `node --test scripts/test-gnome-extension.mjs` passed all seven tests. - [x] Linux tests, Clippy, and package build passed on the target workstation. - [x] Signed macOS package built and installed; signature verified. Two different test builds satisfied the same persistent designated requirement. - [x] Manual testing performed: installed components, verified receiver/extension communication and left-side configuration, and user confirmed working operation after refreshing permissions. ## Checklist - [x] `./scripts/pre-pr.sh` passes - [x] Documentation updated - [x] No unrelated changes included The first transition from an ad-hoc build to persistent signing can require renewed macOS permissions. Both layout settings must match; layout is not negotiated over TCP. GNOME extension updates require logout/login.
fix: support configurable handoff layout and reliable installed updates
All checks were successful
CI / Rust build, lint, and test (pull_request) Successful in 1m19s
CI / Swift build, lint, and test (pull_request) Successful in 2m26s
a819d70dd0
Preserve cursor height through GNOME IPC and support Linux on either side of the Mac. Start the receiver with each graphical session and document migration for existing installations.

Require persistent macOS signing by default, retain a local signing identity, and reserve ad-hoc signing for explicit diagnostic builds. Add routing, IPC, extension, and signing regression coverage.
erik merged commit 63555748fc into main 2026-11-07 12:31:34 -06:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
erik/kvshare!26
No description provided.