-
Notifications
You must be signed in to change notification settings - Fork 5
Jetbrains Gateway cannot connect after 3.5h IDLE period #148
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
base: main
Are you sure you want to change the base?
Jetbrains Gateway cannot connect after 3.5h IDLE period #148
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #148 +/- ##
======================================
Coverage 0.00% 0.00%
======================================
Files 4 25 +21
Lines 26 1008 +982
Branches 0 157 +157
======================================
- Misses 26 1008 +982 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
86b4d42
to
7dd1828
Compare
There 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.
I run the plugin from vrubezhny:fix-cannot-connect-when-idle
,
and I noticed the UI differs from what is shows on the screenscasts

@vrubezhny do you think I missed some steps?
There 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.
@adietish could you please verify if the PR fixes the original issue you reported
Fixes eclipse-che/che#23485 Signed-off-by: Victor Rubezhny <[email protected]>
7dd1828
to
58a72b8
Compare
There 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.
Couldn't verify that it really helps. Nevertheless, this feels like an improvements. I'd merge it and I'll keep trying to reproduce the issue
onDevWorkspaceStopped: () -> Unit, | ||
onDisconnected: () -> Unit | ||
) { | ||
try { |
There 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.
nitpicking: I'd create separate methods for all 3 closing operations (closeForwarder()
, stopDevWorkspace()
, invokeOnDisconnected
) and call them here.
|
||
val client = LinkedClientManager | ||
.getInstance() | ||
.startNewClient( | ||
Lifetime.Eternal, | ||
URI(remoteIdeServerStatus.joinLink), | ||
URI(remoteIdeServerStatus.joinLink!!), | ||
"", | ||
onConnected, | ||
false | ||
) | ||
|
||
val forwarder = Pods(devSpacesContext.client).forward(remoteIdeServer.pod, 5990, 5990) |
There 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.
#forward can fail, too ex. if local port is already bound.
|
||
val client = LinkedClientManager | ||
.getInstance() | ||
.startNewClient( | ||
Lifetime.Eternal, | ||
URI(remoteIdeServerStatus.joinLink), | ||
URI(remoteIdeServerStatus.joinLink!!), |
There 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.
I saw situations where the joinLink was null
. I believe that it would be better to check the joinLink
for being non-empty and throw instead of asserting it to be non-null (!!
)
When the DevSpaces WS isn't started or ready, this PR starts the WS and waits for its readiness before starting the Remote IDE Client:
cold-start_spedup.mp4
In some cases the Remote IDE Server cannot correctly process requests (status/stop) - usually when this happens we have no other option to recover, but the full DevSpaces Pod restart. so. with this PR, the User is asked to restart and if agreed, the DevSpaces Pod gets terminated and then restarted, which in its turn makes the Remote IDE server to correctly start:
remote-ide-not-responsive_spedup.mp4
Fixes eclipse-che/che#23485