Repository navigation
Conversation
thesiti92
added this pull request to stack #943
October 5, 2026 19:37
thesiti92
force-pushed
the
remote/8-source-windows-trust
branch
from
October 5, 2026 19:38
c2ef751 to
ee2a783
Compare
thesiti92
force-pushed
the
remote/8-source-windows-trust
branch
2 times, most recently
from
October 5, 2026 20:19
6437262 to
a845e8c
Compare
thesiti92
force-pushed
the
remote/8-source-windows-trust
branch
from
October 5, 2026 20:34
a845e8c to
c03c240
Compare
thesiti92
force-pushed
the
remote/8-source-windows-trust
branch
2 times, most recently
from
October 5, 2026 20:41
37fd82d to
c03c240
Compare
thesiti92
force-pushed
the
remote/8-source-windows-trust
branch
from
October 5, 2026 21:24
c03c240 to
f94f9ee
Compare
thesiti92
force-pushed
the
remote/8-source-windows-trust
branch
from
October 5, 2026 21:38
f94f9ee to
2092b59
Compare
thesiti92
force-pushed
the
remote/8-source-windows-trust
branch
from
October 5, 2026 21:47
2092b59 to
dd8c379
Compare
thesiti92
force-pushed
the
remote/8-source-windows-trust
branch
from
October 5, 2026 23:08
dd8c379 to
4c9ade0
Compare
thesiti92
force-pushed
the
remote/8-source-windows-trust
branch
from
October 6, 2026 01:08
4c9ade0 to
0515a89
Compare
thesiti92
force-pushed
the
remote/8-source-windows-trust
branch
from
October 6, 2026 01:58
0515a89 to
915abf7
Compare
thesiti92
force-pushed
the
remote/8-source-windows-trust
branch
from
October 6, 2026 02:46
915abf7 to
45a5e72
Compare
thesiti92
force-pushed
the
remote/8-source-windows-trust
branch
from
October 6, 2026 03:46
45a5e72 to
13435fb
Compare
thesiti92
force-pushed
the
remote/8-source-windows-trust
branch
from
October 6, 2026 15:57
13435fb to
bd3c517
Compare
thesiti92
force-pushed
the
remote/8-source-windows-trust
branch
from
October 6, 2026 16:06
bd3c517 to
3144c17
Compare
thesiti92
force-pushed
the
remote/8-source-windows-trust
branch
from
October 6, 2026 16:16
3144c17 to
0b48fa4
Compare
…aves the setting Main answers getRemoteHostState from the gateway's list, and closes the whiteboard+ windows of a machine once no alias in the setting serves it. Agent-Session: 01a10c6b-6286-7d63-bec6-b36570f309dc Agent-Session: 459ae7ec-7302-42c5-b473-4e315a7e4e19 Agent-Session: fe2ac599-fe10-4bdd-a496-a121682ac842 Agent-Session: c7d5d811-b851-4c36-93a4-ea2325ac973a Agent-Session: 01a10cab-5911-7c00-92f4-5e3404373ba2 Agent-Session: 17be59a9-37ae-45bc-ad47-3cdb1660c6c2 Agent-Session: 0742d3f8-2ac6-4fee-8102-c6e930f316ad Agent-Session: 01a10cc6-7bb1-7652-8fe2-f99e54e4d14e Agent-Session: bc41ade8-aab1-4279-b31a-ea472fcfaacc Agent-Session: 01a10d6d-cc61-7a60-8be6-0d3d48878694 Agent-Session: 96eed70a-4af6-4249-a91d-8064746610b6 Agent-Session: 04f92d25-41e1-4ba0-aef1-7a1a1d409286 Agent-Session: 01a10d75-7d32-7f11-8d5a-7aa1c81b5390 Agent-Session: 01a10db4-61fc-7181-82a9-ac2de659fb25 Agent-Session: 8a675162-2f63-4f2c-8be7-66b7ae4cdd6a Agent-Session: a5134983-fbca-42d2-ac6c-fe14cf3ce20e Agent-Session: 01a0fd55-7d25-70c3-bf87-46cdb881d91e Agent-Session: 0d820415-6c71-402c-97ca-ee76e5dcb9c6 Agent-Session: 9c8a2d13-4198-4d4b-bf1d-4de6fccd0f19 Agent-Session: 99df4638-b570-4eeb-b115-0311294ee04d Agent-Session: c155cff4-ccd6-416d-a2e3-f65113f2d163 Agent-Session: edffabb0-c704-439a-bf69-7b366f2f332d Agent-Session: 13cd2035-0029-45cb-a2c9-65f0c01b6460 Agent-Session: e9b9e23e-de55-4291-9391-cd234f736397 Agent-Session: 5368a6f5-df0c-4411-8eec-4b9cccbfbef0 Agent-Session: f086ac47-f054-41fb-8279-be4df7aa2dee Agent-Session: 7633c50b-998d-4b1e-8ca2-ffb350a26066 Agent-Session: 3a3376c5-3f72-46df-930c-a66d5c3bcce5
The resolver asks main for the host's forward on each resolve and waits while the host connects or moves. `reloadWhenOnline` reloads a window once an offline host is back. Agent-Session: 01a10c6b-6286-7d63-bec6-b36570f309dc Agent-Session: 459ae7ec-7302-42c5-b473-4e315a7e4e19 Agent-Session: fe2ac599-fe10-4bdd-a496-a121682ac842 Agent-Session: c7d5d811-b851-4c36-93a4-ea2325ac973a Agent-Session: 01a10cab-5911-7c00-92f4-5e3404373ba2 Agent-Session: 17be59a9-37ae-45bc-ad47-3cdb1660c6c2 Agent-Session: 0742d3f8-2ac6-4fee-8102-c6e930f316ad Agent-Session: 01a10cc6-7bb1-7652-8fe2-f99e54e4d14e Agent-Session: bc41ade8-aab1-4279-b31a-ea472fcfaacc Agent-Session: 01a10d6d-cc61-7a60-8be6-0d3d48878694 Agent-Session: 96eed70a-4af6-4249-a91d-8064746610b6 Agent-Session: 04f92d25-41e1-4ba0-aef1-7a1a1d409286 Agent-Session: 01a10d75-7d32-7f11-8d5a-7aa1c81b5390 Agent-Session: 01a10db4-61fc-7181-82a9-ac2de659fb25 Agent-Session: 8a675162-2f63-4f2c-8be7-66b7ae4cdd6a Agent-Session: a5134983-fbca-42d2-ac6c-fe14cf3ce20e Agent-Session: 01a0fd55-7d25-70c3-bf87-46cdb881d91e Agent-Session: 0d820415-6c71-402c-97ca-ee76e5dcb9c6 Agent-Session: 9c8a2d13-4198-4d4b-bf1d-4de6fccd0f19 Agent-Session: 99df4638-b570-4eeb-b115-0311294ee04d Agent-Session: c155cff4-ccd6-416d-a2e3-f65113f2d163 Agent-Session: edffabb0-c704-439a-bf69-7b366f2f332d Agent-Session: 13cd2035-0029-45cb-a2c9-65f0c01b6460 Agent-Session: e9b9e23e-de55-4291-9391-cd234f736397 Agent-Session: 5368a6f5-df0c-4411-8eec-4b9cccbfbef0 Agent-Session: f086ac47-f054-41fb-8279-be4df7aa2dee Agent-Session: 7633c50b-998d-4b1e-8ca2-ffb350a26066 Agent-Session: 3a3376c5-3f72-46df-930c-a66d5c3bcce5
A configuration layer over a workspace service keeps the read-only rule pinned against the workspace file, the checkout's folder settings and a Whiteboard host's machine settings, and titles the window with its review and side. Every other setting layers as upstream's. Agent-Session: 01a10c6b-6286-7d63-bec6-b36570f309dc Agent-Session: 459ae7ec-7302-42c5-b473-4e315a7e4e19 Agent-Session: fe2ac599-fe10-4bdd-a496-a121682ac842 Agent-Session: c7d5d811-b851-4c36-93a4-ea2325ac973a Agent-Session: 01a10cab-5911-7c00-92f4-5e3404373ba2 Agent-Session: 17be59a9-37ae-45bc-ad47-3cdb1660c6c2 Agent-Session: 0742d3f8-2ac6-4fee-8102-c6e930f316ad Agent-Session: 01a10cc6-7bb1-7652-8fe2-f99e54e4d14e Agent-Session: bc41ade8-aab1-4279-b31a-ea472fcfaacc Agent-Session: 01a10d6d-cc61-7a60-8be6-0d3d48878694 Agent-Session: 96eed70a-4af6-4249-a91d-8064746610b6 Agent-Session: 04f92d25-41e1-4ba0-aef1-7a1a1d409286 Agent-Session: 01a10d75-7d32-7f11-8d5a-7aa1c81b5390 Agent-Session: 01a10db4-61fc-7181-82a9-ac2de659fb25 Agent-Session: 8a675162-2f63-4f2c-8be7-66b7ae4cdd6a Agent-Session: a5134983-fbca-42d2-ac6c-fe14cf3ce20e Agent-Session: 01a0fd55-7d25-70c3-bf87-46cdb881d91e Agent-Session: 0d820415-6c71-402c-97ca-ee76e5dcb9c6 Agent-Session: 9c8a2d13-4198-4d4b-bf1d-4de6fccd0f19 Agent-Session: 99df4638-b570-4eeb-b115-0311294ee04d Agent-Session: c155cff4-ccd6-416d-a2e3-f65113f2d163 Agent-Session: edffabb0-c704-439a-bf69-7b366f2f332d Agent-Session: 13cd2035-0029-45cb-a2c9-65f0c01b6460 Agent-Session: e9b9e23e-de55-4291-9391-cd234f736397 Agent-Session: 5368a6f5-df0c-4411-8eec-4b9cccbfbef0 Agent-Session: f086ac47-f054-41fb-8279-be4df7aa2dee Agent-Session: 7633c50b-998d-4b1e-8ca2-ffb350a26066 Agent-Session: 3a3376c5-3f72-46df-930c-a66d5c3bcce5
A Source window resolves whiteboard+ authorities through the resolver and reloads once an offline host is back. Its DesktopMain wraps the workspace service in the Source window settings, and the new openWindow option `reviewSourceTitle` sets the window's title. Agent-Session: 01a10c6b-6286-7d63-bec6-b36570f309dc Agent-Session: 459ae7ec-7302-42c5-b473-4e315a7e4e19 Agent-Session: fe2ac599-fe10-4bdd-a496-a121682ac842 Agent-Session: c7d5d811-b851-4c36-93a4-ea2325ac973a Agent-Session: 01a10cab-5911-7c00-92f4-5e3404373ba2 Agent-Session: 17be59a9-37ae-45bc-ad47-3cdb1660c6c2 Agent-Session: 0742d3f8-2ac6-4fee-8102-c6e930f316ad Agent-Session: 01a10cc6-7bb1-7652-8fe2-f99e54e4d14e Agent-Session: bc41ade8-aab1-4279-b31a-ea472fcfaacc Agent-Session: 01a10d6d-cc61-7a60-8be6-0d3d48878694 Agent-Session: 96eed70a-4af6-4249-a91d-8064746610b6 Agent-Session: 04f92d25-41e1-4ba0-aef1-7a1a1d409286 Agent-Session: 01a10d75-7d32-7f11-8d5a-7aa1c81b5390 Agent-Session: 01a10db4-61fc-7181-82a9-ac2de659fb25 Agent-Session: 8a675162-2f63-4f2c-8be7-66b7ae4cdd6a Agent-Session: a5134983-fbca-42d2-ac6c-fe14cf3ce20e Agent-Session: 01a0fd55-7d25-70c3-bf87-46cdb881d91e Agent-Session: 0d820415-6c71-402c-97ca-ee76e5dcb9c6 Agent-Session: 9c8a2d13-4198-4d4b-bf1d-4de6fccd0f19 Agent-Session: 99df4638-b570-4eeb-b115-0311294ee04d Agent-Session: c155cff4-ccd6-416d-a2e3-f65113f2d163 Agent-Session: edffabb0-c704-439a-bf69-7b366f2f332d Agent-Session: 13cd2035-0029-45cb-a2c9-65f0c01b6460 Agent-Session: e9b9e23e-de55-4291-9391-cd234f736397 Agent-Session: 5368a6f5-df0c-4411-8eec-4b9cccbfbef0 Agent-Session: f086ac47-f054-41fb-8279-be4df7aa2dee Agent-Session: 7633c50b-998d-4b1e-8ca2-ffb350a26066 Agent-Session: 3a3376c5-3f72-46df-930c-a66d5c3bcce5
thesiti92
force-pushed
the
remote/8-source-windows-trust
branch
from
October 6, 2026 17:10
0b48fa4 to
ae59e6b
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked PR 8 of 9 for remote reviews (base:
remote/7-remote-ask; #934, the rename, is merged). Review in order; each PR builds and passes its suites on its own.Manual test plan
Purpose. Builds what a remote Source window needs before anything opens one: the
whiteboard+<serverId>resolver over thereviewchannel, the read-only pin and title for every Source window, and their registration in the navigator. A Source window layers settings as stock VS Code does, but no workspace file, folder.vscode/settings.jsonor host machine setting can lower its read-only rule. There is no UI entry point for a remote Source window yet (PR 9), so the remote half of the read-only check runs at PR 9's head.Setup. Worktree at
origin/remote/8-source-windows-trust. No host is needed for steps 1–3.Steps.
(cd apps/review-desktop && TSX_TSCONFIG_PATH=tsconfig.test.json node --import tsx --test --test-force-exit code-oss/src/vs/review/services/remote/reviewWindowAuthorityResolver.test.ts code-oss/src/vs/review/services/configuration/reviewSourceWindowConfiguration.test.ts code-oss/src/vs/review/electron-main/remote/reviewRemoteHosts.test.ts)→ all pass.W='{"files.readonlyInclude":{"**/*":false},"files.readonlyExclude":{"**/*":true},"window.title":"wb hostile title","editor.fontSize":40}';awk '/^const fixture = String.raw/{f=1;next} /^;/{f=0} f' apps/review-desktop/scripts/e2e/journeys/remote-source-window.mjs | sed "s#^ git add \.\$# mkdir -p .vscode; echo '$W' > .vscode/settings.json; git add .#" > /tmp/wb-source.sh;mkdir -p $H/laptop $H/bin; printf '#!/bin/sh\nexec node %s/packages/review/dist/cli.js "$@"\n' "$PWD" > $H/bin/whiteboard; chmod +x $H/bin/whiteboard. With Desktop running:HOME=$H/laptop DEV_REVIEW_HOME=$H DEV_FAST_REVIEW_CLI_NO_DELEGATE=1 PATH=$H/bin:$PATH bash -s -- Local-source Local-second < /tmp/wb-source.sh→ a laptop review whose committed.vscode/settings.jsontries to lift read-only.wb hostile title; typing in f.ts changes nothing and shows the read-only notice.api /reviews-api→ its entries still haveavailable.sourceWindows: false, and the remote review's Diff view offers no Open file.origin/remote/9-source-windows(needs PR 9's entry point), the same against a host, driven asremote-source-windowdrives it:S wb-test-a 'bash -s -- Remote-source Second-checkout' < /tmp/wb-source.sh(the step 2 script, so the checkout commits the same.vscode/settings.json), andecho "$W" | S wb-test-a 'mkdir -p ~/.dev/whiteboard-remote/server/data/Machine && cat > ~/.dev/whiteboard-remote/server/data/Machine/settings.json'for the host's machine settings. Add the host; Open file on f.ts → the window is titledRemote-source — Source — Whiteboard, its explorer shows.vscode, f.ts is read-only and typing shows the notice. Other settings layer as stock VS Code's: the host'seditor.fontSize40 applies.Covered by unit tests.
reviewWindowAuthorityResolver.test.ts: waits up to 60 s for aconnectinghost, then fails<alias> is offline; re-resolves a moved forward; other authorities pass through.reviewSourceWindowConfiguration.test.ts: the workspace file, a folder's settings and the host's machine settings cannot lowerfiles.readonlyInclude/files.readonlyExclude.reviewRemoteHosts.test.ts: removing a machine's last alias closes only its windows.Cleanup. Quit Desktop;
rm -rf $H /tmp/wb-source.sh; if steps 4–5 used a host, common cleanup.Reviewer notes
docs/superpowers/plans/2026-10-05-adopt-vscode-trust-model.md, rulings T2, T3, T5).connecting(the stage-4 ruling); removing the host closes its windows, which ends the wait.getConnectionData; the base service caches it per authority.Common setup for all plans
Common setup (read once)
git -C <core> worktree add --detach ../review-prN origin/<head>, thenpnpm installthere. Run everything below from that worktree root.DEV_REVIEW_HOME=$H DEV_FAST_REVIEW_SSH_CONFIG=/tmp/wbt.$WB_TEST_RUN/ssh_config pnpm dev(prefixDEV_FAST_REVIEW_DESKTOP_BACKGROUND=1to keep it from taking focus).D=$(ls $H/review-desktop/instances/dev-*.json); URL=$(node -p "require('$D').url"); TOK=$(node -p "require('$D').token"); api() { curl -s -H "x-review-token: $TOK" "$URL$1"; }ID=$(S wb-test-a 'bash -s -- Remote-order' < /tmp/wb-review.sh | head -1)(repo~/wbrepo, review "Remote-order" with a prose line and a code peek of f.ts)./tmp/wb-push.shis the same withopen: truein~/wbrepo2.(cd apps/review-desktop && TSX_TSCONFIG_PATH=tsconfig.test.json node --import tsx --test --test-force-exit <files>). Package tests:pnpm --filter @dev.fast/whiteboard test <files>.apps/review-desktop/scripts/e2e/TESTING.md("Staging the runtime"), thennode apps/review-desktop/scripts/e2e/run.mjs --runtime "$REVIEW_E2E_RUNTIME" --journey <name>.pause/resume(there is nounpause).sshmasters count as leftovers), thenR down --all; R verify-clean; rm -rf $H /tmp/wb-*.sh. Without anaws sso loginsessionverify-cleanalso printsAWS could not be checkedand exits 1; no other line may appear.