Open
Description
Problem Description
Today, integrating desktop applications with Coder depends on dedicated extensions(e.g, VSCode and JetBrains) or manual configuration via the CLI (e.g., coder config-ssh
). This creates:
- Friction for teams with limited engineering resources.
- Limited flexibility for integrating new or less commonly used tools.
- Slower adoption of Coder for users dependent on specific local tools.
Desired Solution
Introduce a standardized, extensible URI scheme (coder://
) that leverages Coder Desktop to streamline application launching. This is very similar to the existing RDP handling of Coder Desktop.
Example URI:
coder://authority/v0/open/ws/<workspace>/agent/<agent>/uri?=<custom-app-uri>
Example for Zed IDE:
coder://authority/v0/open/ws/ws-abc123/agent/agent-xyz/uri?=zed://ssh/myworkspace.coder/folder
Behavior:
- Coder Desktop intercepts the
coder://
URI. - Verifies if Coder Desktop is installed and running.
- Handles tunneling and passes the custom URI to the target application.
- Fallback behavior:
- Prompt user to install Coder Desktop if not found.
- Show alert if the target application (e.g.,
zed://
) is unsupported or not installed.
- UI modal fallback appears after 500ms if the URI fails to invoke, using the AppLink component.
Implementation Requirements
- UI:
- Documentation:
- Update Coder Desktop documentation to provide examples for popular tools (Zed, VNC, DCV).
- Modules:
- Update KasmVNC module to expose the
vnc://
URI throughcoder://
. - Update Amazon DCV module to expose the
dcv://
URI throughcoder://
.
- Update KasmVNC module to expose the