Skip to content

fix(editors): open remote projects in Zed - #221

Merged
leoisadev1 merged 4 commits into
mainfrom
fix/zed-remote-open
Sep 13, 2026
Merged

leoisadev1 merged 4 commits into
mainfrom
fix/zed-remote-open

Conversation

@leoisadev1

Copy link
Copy Markdown
Member

Problem

Zed had no remote scheme in the editor registry, so remote and SSH environments fell back to VS Code even when Zed was installed on the viewing machine.

Fix

The registry now records remoteScheme: "zed". buildRemoteOpenUrl emits Zed's documented zed://ssh/<host>/<path> shape. The desktop shell allowlist validates that shape separately so a Zed link cannot ride in on a VS Code scheme or the reverse.

Adaptation

Reviewed port of pingdotgg/t3code#11022. Windows drive-letter drop for Zed was described in the upstream body and is not in that commit's code; this PR matches the merged source.

Scope

This PR is Zed remote open only. Cookie isolation is #208. SSH runner ownership is #215. LAN vs Tailscale pairing is #217.

Verification

  • vp test run on ElectronShell.test.ts and remoteOpen.test.ts: 20 passed.
  • vp run --filter @t3tools/contracts --filter @t3tools/desktop --filter @t3tools/web typecheck exited 0.
  • Targeted lint reported no errors.

Native Zed on a remote SSH host was not launched from this Linux environment.

Implemented with Grok 4.6 High in Grok Build via Orca.

Zed had no remote scheme, so the Open picker fell back to VS Code for
remote and SSH environments. The registry now records Zed's
`zed://ssh/<host>/<path>` shape and the desktop allowlist validates that
shape separately from VS Code remote links.

Adapted from pingdotgg#11022.

Implemented with Grok 4.6 High in Grok Build via Orca.
@vercel

vercel Bot commented Sep 10, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
akeru-bot-landing Building Building Preview Sep 10, 2026 5:46pm UTC

Request Review

@github-actions github-actions Bot added size:M vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. labels Sep 10, 2026
@greptile-apps

greptile-apps Bot commented Sep 10, 2026

Copy link
Copy Markdown

Greptile Summary

This update adds Zed remote-project links and validates Zed SSH URLs before they are sent to the operating system. Encoded, lowercase-encoded, and nested-encoded host delimiters are rejected while valid remote-editor links remain supported.

Confidence Score: 5/5

Safe to merge.

The previous P1 thread was resolved by greptile-apps[bot] without an explanatory reply. The current implementation decodes the Zed host segment and rejects @, :, /, and % characters, including nested encoding, which addresses the reported issue.

Reviews (3): Last reviewed commit: "fix(desktop): reject nested Zed host enc..." | Re-trigger Greptile

Comment thread apps/desktop/src/electron/ElectronShell.ts Outdated
Decode the Zed host path segment before allowing the deep link so %40, %3A,
and %2F cannot smuggle userinfo or extra path separators.

Implemented with Grok 4.6 High in Grok Build via Orca.
@leoisadev1
leoisadev1 merged commit 8066239 into main Sep 13, 2026
11 checks passed
@leoisadev1
leoisadev1 deleted the fix/zed-remote-open branch September 13, 2026 23:47
This was referenced Sep 13, 2026

This branch was successfully deployed

1 active deployment
Preview d7e62125 Deployed Sep 13, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant