Skip to content

fix: concurrently open tunnel & handshake #30

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 our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jan 23, 2025

Conversation

ethanndickson
Copy link
Member

@ethanndickson ethanndickson commented Jan 23, 2025

The Go dylib OpenTunnel function blocks until the handshake is performed over the file descriptors, so we'll run that function on a different thread, and then await that it returns.

A few other cleanups throughout to get Manager's init to run to completion: downloading and validating the dylib and starting the tunnel.

Copy link
Member Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@@ -12,5 +12,7 @@
<array>
<string>$(TeamIdentifierPrefix)com.coder.Coder-Desktop</string>
</array>
<key>com.apple.security.network.client</key>
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Entitlement required for the network extension to be able to reach the internet, i.e. download the dylib,.

Comment on lines +69 to +71
Task {
await loadNetworkExtension()
}
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This avoids prompting the user to configure the system VPN each time they launch the app.

@ethanndickson ethanndickson marked this pull request as ready for review January 23, 2025 13:44
@ethanndickson ethanndickson merged commit 06b4c16 into main Jan 23, 2025
4 checks passed
@ethanndickson ethanndickson deleted the ethan/non-blocking-opentunnel branch January 23, 2025 15:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants