-
Notifications
You must be signed in to change notification settings - Fork 184
Support automatic Wayland resize handoff with verified remote client retirement #2076
Copy link
Copy link
Open
Open
Copy link
Labels
P2Normal priority bug or improvement with limited blast radius.Normal priority bug or improvement with limited blast radius.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:needs-security-reviewClawSweeper marked this issue as needing security-sensitive review.ClawSweeper marked this issue as needing security-sensitive review.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.impact:securityThis issue is about security boundaries, credentials, authz, sandboxing, or sensitive data.This issue is about security boundaries, credentials, authz, sandboxing, or sensitive data.issue-rating: 🌊 off-meta tidepoolIssue quality rating does not apply to this item.Issue quality rating does not apply to this item.
Description
Activity
Metadata
Metadata
Assignees
Labels
P2Normal priority bug or improvement with limited blast radius.Normal priority bug or improvement with limited blast radius.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:needs-security-reviewClawSweeper marked this issue as needing security-sensitive review.ClawSweeper marked this issue as needing security-sensitive review.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.impact:securityThis issue is about security boundaries, credentials, authz, sandboxing, or sensitive data.This issue is about security boundaries, credentials, authz, sandboxing, or sensitive data.issue-rating: 🌊 off-meta tidepoolIssue quality rating does not apply to this item.Issue quality rating does not apply to this item.
Type
Fields
Priority
None yet
Start date
None yet
Target date
None yet
Summary
Automatic Wayland resize-ownership handoff remains deferred pending exact remote client identity and lifecycle acknowledgement.
A fault-injected split-transport spike disproved local EOF plus successor reconnect as proof that WayVNC released its previous layout owner. This tracks the missing prerequisite, not a proposed transport-only workaround.
Related base change: #2075
Current Behavior
Crabbox input control and WayVNC layout ownership are distinct. The base PR requests resizing only for the confirmed controller, but a previous viewer can retain WayVNC layout ownership until its remote client is destroyed. The base PR's UI therefore tells users to close the previous sizing viewer, then reconnect the new controller.
Bounded Experiment
The independently reviewed spike used actual WayVNC 0.9.1 with independent SSH forwards and a fault-injected split TCP proxy. The proxy deliberately retained the old remote connection while allowing the old local transport to report EOF and the successor to complete a fresh RFB handshake.
The previous WayVNC client remained present, and the successor's resize returned status 1. Backend process identities and an unrelated observer were unchanged.
This is a counterexample to the proposed retirement proof. It is not a reproduction of an unmodified SSH failure or Crabbox's healthy/default shared-tunnel path. It does not establish that the default path has this failure.
Required Invariant
Bind the exact departing bridge generation to a WayVNC client ID scoped to the specific server process lifetime. Before allowing a successor to claim automatic layout ownership, obtain a trusted
client-disconnectedevent or synchronous targeted-disconnect acknowledgement for that exact client.Local EOF, completion of a fresh RFB handshake, an IP address, a client count, or differences between client lists are not sufficient identity or retirement evidence.
Acceptance Criteria
No implementation PR or protocol change is proposed here until that prerequisite has a defensible design and executable proof.