- Notifications
You must be signed in to change notification settings - Fork5
feat: support RDP-specific deep links#147
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Conversation
ethanndickson commentedMay 5, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
This stack of pull requests is managed byGraphite. Learn more aboutstacking. |
1bb58f3 tof80c296Comparef6bc9e3 to83b1554Compare199dd0e to35afca9CompareThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Pull Request Overview
This PR adds support for RDP-specific deep links by parsing and validating a custom URL format and handling credential display and clipboard copy operations for RDP connections. Key changes include:
- Adding deep link parsing and error handling for RDP routes across multiple modules.
- Introducing new error cases such as openError and couldNotCreateRDPURL to better represent RDP failures.
- Extending the menu state with helper functions to find workspaces and agents by name.
Reviewed Changes
Copilot reviewed 4 out of 5 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| Coder-Desktop/VPNLib/FileSync/FileSyncDaemon.swift | Added a comment explaining the location of FileSync code to work around a linking issue. |
| Coder-Desktop/VPNLib/CoderRouter.swift | Extended the router with a new error case (openError) and added error handling improvements for RDP routes. |
| Coder-Desktop/Coder-Desktop/VPN/MenuState.swift | Added helper functions to find agents and workspaces, which are used by the deep link handling. |
| Coder-Desktop/Coder-Desktop/URLHandler.swift | Updated URL handling to process the RDP route, validate connectivity, and manage credentials and clipboard actions. |
Files not reviewed (1)
- scripts/build.sh: Language not supported
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
d3c0f66 to4e6d866Compare4c372d2 tod594ee7Compared594ee7 to320dac8Compareethanndickson commentedMay 12, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
Merge activity
|
320dac8 to1227eecCompare314edbe intomainUh oh!
There was an error while loading.Please reload this page.

Uh oh!
There was an error while loading.Please reload this page.
Closes#96.
If a
coder_appexists on the workspace, where the URL is of the form:coder://dev.coder.com/v0/open/ws/<workspace>/agent/<agent>/rdp?username=administrator&password=passwordthe URL will be parsed, validated, and an alert opened.If
Openis clicked on the alert, the password will be written to the clipboard, where it can be pasted when prompted.rdp.mov
We're unable to avoid the entering of the password, as the
passwordfield in an.rdpfile, even if encrypted properly, is ignored by the macOS Windows RDP app.The app supports reading credentials from the macOS keychain, and whilst we could create keychain entries, they have to be associated with an RDP config in the app, and there's no way to automate the creation of that config, and then run that config.
Further reading:
https://stackoverflow.com/questions/48713606/how-to-create-rdp-file-on-mac-os-that-allows-auto-login
https://techcommunity.microsoft.com/discussions/azurevirtualdesktopforum/macos-remote-desktop-client-app---automatic-logon-no-credential-prompt/2596451
The above demo was done by adding this app to the template: