Tags: coder/coder-desktop-macos
Tags
fix: correct remote file picker dropdown chevron alignment (#192) There appears to be a bug when a View created using `NSView` is inside a `DisclosureGroup` label - regardless of the size of the `NSView`, it breaks the alignment of the chevron that's included on the DisclosureGroup label by default:  In #184 we added an `NSView` to the spinner, causing this issue. This is almost certainly a SwiftUI bug, and so we'll work around it by placing the spinner and error symbol to the right of the label by just setting a trailing padding on the text. The end result (with spinners on): 
chore: update logo (#190) <img width="573" alt="Screenshot 2025-06-25 at 7 56 24 pm" src="https://github.com/user-attachments/assets/55f8fb81-e71b-4292-96b1-1d66d1b8d130" /> <img width="465" alt="Screenshot 2025-06-25 at 7 48 53 pm" src="https://github.com/user-attachments/assets/52cede0f-af8a-49c5-bebc-3a0871391fa5" /> <img width="475" alt="Screenshot 2025-06-25 at 7 35 18 pm" src="https://github.com/user-attachments/assets/5696dfa6-67c7-40ee-9134-21c13f5c488b" /> <img width="486" alt="image" src="https://github.com/user-attachments/assets/ee7dd855-c57f-461b-9a5c-a982897c1a60" />
feat: add auto-updates (#176) Closes #47. Stable: <img width="615" alt="image" src="https://github.com/user-attachments/assets/e34c8138-dac7-48ab-af76-0feea79c9f7e" /> Preview: <img width="614" alt="image" src="https://github.com/user-attachments/assets/caeb2750-b735-473d-8568-e8f1098954d0" /> Additionally: - Removes the updating of the `coder-desktop-preview` cask. - Marks the `coder-desktop` cask as auto-updating, so brew doesn't attempt to `upgrade` itself. I'll also need to make a PR on the `homebrew-coder` repo to mark it as deprecated in brew. If a user wishes to be on the preview channel, they just need to install the stable version, and switch to the preview channel in settings.
ci: sign builds for distribution via sparkle (#165) First PR for #47. To test the later components, we need a release build and a preview build signed with this key. So, this needs to be merged first. I've tested the release script with a dry-run, and validated the pkg passes `sparkle/sign_update --verify`, and that the app still works in a VM (specifically checking that signing it didn't invalidate the notarization, but I don't think signing it modifies it's contents, it just checks the signature matches the embedded public key)
fix: set network extension as unconfigured when system extension is d… …eleted (#162) This fixes a bug when `Launch Coder Connect at startup` is enabled when updating the app with #161, where the app attempts to start too early, as it thinks the VPN is configured, but it was unconfigured with the deletion of the system extension.
feat: support RDP-specific deep links (#147) Closes #96. If a `coder_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. If `Open` is clicked on the alert, the password will be written to the clipboard, where it can be pasted when prompted. https://github.com/user-attachments/assets/da8410c7-d656-4bf7-936a-8d465953e195 We're unable to avoid the entering of the password, as the `password` 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 } ```
chore: enforce minimum coder server version of v2.20.0 (#90) This will cause Coder Desktop networking to fail to start unless the validated dylib is version `v2.20.0` or later. Obviously, using this build early would mean Coder Desktop would not work against our dogfood deployment.
PreviousNext