Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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

Merged
ethanndickson merged 6 commits intomainfromethan/rdp-deeplink
May 12, 2025
Merged

Conversation

ethanndickson
Copy link
Member

@ethanndicksonethanndickson commentedMay 5, 2025
edited
Loading

Closes#96.

If acoder_app exists on the workspace, where the URL is of the form:
coder://dev.coder.com/v0/open/ws/<workspace>/agent/<agent>/rdp?username=administrator&password=password the URL will be parsed, validated, and an alert opened.
IfOpen is 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 thepassword field in an.rdp file, 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:

resource "coder_app" "connectrdp" {  agent_id = coder_agent.main.id  slug = "connectrdp"  display_name = "Coder Connect RDP"  url = "coder://dev.coder.com/v0/open/ws/${data.coder_workspace.me.name}/agent/main/rdp?username=Administrator&password=coderRDP!"  icon = "/icon/terminal.svg"  external = true}

@ethanndicksonGraphite App
Copy link
MemberAuthor

ethanndickson commentedMay 5, 2025
edited
Loading

@ethanndicksonethanndicksonforce-pushed theethan/push-notif branch 2 times, most recently fromf6bc9e3 to83b1554CompareMay 6, 2025 02:55
@ethanndicksonethanndickson marked this pull request as ready for reviewMay 6, 2025 03:57
Copy link

@CopilotCopilotAI left a 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.

FileDescription
Coder-Desktop/VPNLib/FileSync/FileSyncDaemon.swiftAdded a comment explaining the location of FileSync code to work around a linking issue.
Coder-Desktop/VPNLib/CoderRouter.swiftExtended the router with a new error case (openError) and added error handling improvements for RDP routes.
Coder-Desktop/Coder-Desktop/VPN/MenuState.swiftAdded helper functions to find agents and workspaces, which are used by the deep link handling.
Coder-Desktop/Coder-Desktop/URLHandler.swiftUpdated 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

@ethanndicksonethanndickson linked an issueMay 7, 2025 that may beclosed by this pull request
@ethanndicksonethanndicksonforce-pushed theethan/rdp-deeplink branch 2 times, most recently from4c372d2 tod594ee7CompareMay 12, 2025 02:30
@ethanndicksonGraphite App
Copy link
MemberAuthor

ethanndickson commentedMay 12, 2025
edited
Loading

Merge activity

  • May 11, 10:46 PM EDT: A user started a stack merge that includes this pull request viaGraphite.
  • May 11, 10:50 PM EDT:Graphite rebased this pull request as part of a merge.
  • May 11, 10:50 PM EDT:@ethanndickson merged this pull request withGraphite.

@ethanndicksonethanndickson changed the base branch fromethan/push-notif tographite-base/147May 12, 2025 02:46
@ethanndicksonethanndickson changed the base branch fromgraphite-base/147 tomainMay 12, 2025 02:48
@ethanndicksonethanndickson merged commit314edbe intomainMay 12, 2025
4 checks passed
@ethanndicksonethanndickson deleted the ethan/rdp-deeplink branchMay 12, 2025 02:50
@ethanndicksonethanndickson self-assigned thisMay 23, 2025
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers

Copilot code reviewCopilotCopilot left review comments

@deansheatherdeansheatherdeansheather approved these changes

@spikecurtisspikecurtisAwaiting requested review from spikecurtis

Assignees

@ethanndicksonethanndickson

Labels
None yet
Projects
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

RDP-specific Coder Desktop deep link
2 participants
@ethanndickson@deansheather

[8]ページ先頭

©2009-2025 Movatter.jp