-
Notifications
You must be signed in to change notification settings - Fork 1.3k
[JetBrains EAP] Port Forwarding improvements #14408
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
Conversation
e4e753a
to
0aa4e3a
Compare
0ffbd2d
to
49dcbb6
Compare
This comment was marked as off-topic.
This comment was marked as off-topic.
49dcbb6
to
d3c8a2d
Compare
.../ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/GitpodCLIService.kt
Show resolved
Hide resolved
0399bbb
to
5a3b0fe
Compare
.../ide/jetbrains/backend-plugin/src/main/kotlin/io/gitpod/jetbrains/remote/GitpodCLIService.kt
Show resolved
Hide resolved
/werft run recreate-preview 👍 started the job as gitpod-build-felladrin-improve-port-forwarding.19 |
I am reviewing this now 👀 |
I've started reviewing but not finished writing my feedback, I need some more time 🙏 |
I'd suggest to hold it / move to draft while we understand more about the "default lock icon". |
5a3b0fe
to
06621da
Compare
06621da
to
ac861b2
Compare
Good idea decoupling the icons not to hold the PR 🙏 Code changes LGTM, tested and works as expected 🙏 Nice clean up and improvement 🚀 |
Description
This PR brings the following changes:
PerClientPortForwardingService
for controlling all Ports (Forwarded + Exposed) in JetBrains Client. For this reason,GitpodPortsService
was removed.GitpodCLIService.kt
andGitpodClientProjectSessionTracker.kt
were updated because they relied onGitpodPortsService
.GitpodPortForwardingService
became an interface, which is implemented only by the Latest package. It's not available for Stable.extractLocalHostUriMetaDataForPortMapping
moved to an object (LocalHostUri
) as it's a pure function with its test suit. Leaving it inside a Service would make it hard to instantiate and test.GitpodGlobalPortForwardingService
was removed as we shouldn't use JetBrains' GlobalPortForwardingService. This is intended for plugins running in local mode instead of remote.This is how the Ports View currently looks like:

Notes:
GitpodPortForwardingService
is only available when using Latest (EAP) IDEs, that's why we useserviceOrNull<GitpodPortForwardingService>()
when fetching that service.Related Issue(s)
Copy URL
andCopy Web URL
to the terminal's ports context menu #14356How to test
python -m http.server 3000
and confirm that:Copy Web URL
andCopy URL
dropdown options are working:gp ports visibility 3000:public
and confirm if in Ports View the Exposed Port doesn't have the lock icon anymore.python -m http.server 3000
and confirm that a notification appears with a link to "Open browser". Click the link and check if it opens a Gitpod URL, as there's no port forwarding in the Stable version.Release Notes
Werft options:
If enabled this will build
install/preview
Valid options are
all
,workspace
,webapp
,ide