Skip to content

fix(updates): inspect every remote desktop backend - #1079

Open
incognitojam wants to merge 2 commits into
styal/update-combined-confirmationfrom
styal/update-desktop-pool-coverage
Open

incognitojam wants to merge 2 commits into
styal/update-combined-confirmationfrom
styal/update-desktop-pool-coverage

Conversation

@incognitojam

@incognitojam incognitojam commented Oct 25, 2026 •

Copy link
Copy Markdown
Owner

Updating a remote desktop app could inspect only the connected environment even though restarting the app also stops its sibling backends, including WSL. Add a maintenance-authorized request that checks every backend owned by that desktop app and returns anonymous interruption counts.

Keep the selected environment's authorized thread and project details, replacing its identified pool entry to avoid double-counting. Siblings expose counts without names or identifiers. Failed, legacy, missing, or ambiguous coverage produces an inspection warning. Remote desktop updates still require explicit confirmation in this layer.

Exercised request/report wire round trips, selected-environment correlation, anonymous sibling counts, selected thread retention, denied access, incomplete coverage, and confirmation for idle or resumable remote desktop pools. The browser comparison uses synthetic RPC results with the production update controls. Native mobile rendering was not exercised; shared mobile confirmation behavior was tested. A local mobile type check is blocked by the pre-existing missing react-native-pdf-jsi dependency.

Before After
Only connected environment checked Sibling terminal warning retained

Depends on #1078. Safe remote confirmation skipping and the final handoff checks remain in #1053.


Written by an agent (Codex, gpt-6.1-sol).

@github-actions

github-actions Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

Upstream divergence

Both sides are compared with upstream at the in-order tip 3982f20ce4. Excludes .repos/ and pnpm-lock.yaml.

Measure Base This PR Change
Upstream files the fork changes 1,690 1,691 +1
Lines changed in them 92,039 92,612 +573
Upstream files the fork removes 49 49 0
Fork-only files 665 667 +2
Fork-only lines 119,951 120,434 +483

Upstream files that start to differ (1)

  • apps/desktop/src/updates/DesktopRemoteUpdates.ts: +35 −5 from upstream
Upstream files whose difference changes (21)
File Change Now differs by
apps/server/src/desktopUpdate/DesktopAppUpdate.test.ts +115 119 lines
apps/desktop/src/updates/DesktopRemoteUpdates.test.ts +113 123 lines
apps/desktop/src/telemetry/DesktopTelemetryPublisher.test.ts +58 117 lines
packages/contracts/src/resourceTelemetry.ts +56 117 lines
apps/server/src/auth/RpcAuthorization.test.ts +41 55 lines
apps/server/src/desktopUpdate/DesktopAppUpdate.ts +39 49 lines
apps/server/src/resourceTelemetry/DesktopTelemetryReceiver.ts +29 56 lines
apps/web/src/components/ServerUpdateAction.tsx +16 424 lines
apps/desktop/src/telemetry/DesktopTelemetryPublisher.ts +10 22 lines
packages/client-runtime/src/state/server.ts +9 40 lines
packages/contracts/src/rpc.ts +9 276 lines
apps/mobile/src/features/settings/SettingsEnvironmentDetailRouteScreen.tsx +8 105 lines
apps/web/src/components/ServerUpdateAction.browser.test.tsx +7 267 lines
apps/server/src/ws.ts +5 426 lines
docs/user/updating.md +5 157 lines
apps/server/src/server.ts +4 186 lines
apps/server/src/cloud/selfUpdate.test.ts +3 67 lines
apps/desktop/src/backend/DesktopBackendManager.test.ts +2 73 lines
apps/desktop/src/backend/DesktopBackendPool.test.ts +2 8 lines
apps/server/src/auth/RpcAuthorization.ts +1 29 lines
apps/server/src/observability/RpcInstrumentation.ts +1 38 lines

@incognitojam
incognitojam force-pushed the styal/update-desktop-pool-coverage branch from 0b63789 to b87ccac Compare October 25, 2026 21:52
@incognitojam incognitojam changed the title styal/update desktop pool coverage fix(updates): inspect every remote desktop backend Oct 25, 2026
@incognitojam
incognitojam marked this pull request as ready for review October 25, 2026 21:55
@incognitojam
incognitojam force-pushed the styal/update-desktop-pool-coverage branch from b87ccac to cd82b03 Compare October 25, 2026 22:01
Preserve selected-environment thread details alongside anonymous sibling activity counts, and warn when desktop pool coverage is incomplete. Keep explicit remote desktop confirmation and existing update handoff behavior.
@incognitojam
incognitojam force-pushed the styal/update-desktop-pool-coverage branch from cd82b03 to 57fac02 Compare October 25, 2026 22:08
@github-actions

Copy link
Copy Markdown

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

ℹ️ No successful main baseline artifact is available yet. This run establishes the initial measurement.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire — 4.9 KiB — 6.8 KiB ✅
Codex Thread snapshot wire — 3.8 KiB — 4.9 KiB ✅
Codex Live turn WebSocket wire — 1.2 KiB — 2.0 KiB ✅
Codex Live turn WebSocket decoded — 20.8 KiB — 29.3 KiB ✅
Codex Live turn messages — 1 — 8 ✅
Claude Total thread wire — 5.0 KiB — 6.8 KiB ✅
Claude Thread snapshot wire — 3.8 KiB — 4.9 KiB ✅
Claude Live turn WebSocket wire — 1.2 KiB — 2.0 KiB ✅
Claude Live turn WebSocket decoded — 21.2 KiB — 29.3 KiB ✅
Claude Live turn messages — 2 — 8 ✅

Baseline: unavailable · PR result: 57fac02 · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 108.5 KiB
  • Claude decoded thread snapshot: 108.8 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant