Skip to content
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

IDE is not able to reconnect to engine after waking up from suspend/hibernation #7729

Closed
hubertp opened this issue Sep 5, 2023 · 1 comment
Assignees
Labels
Milestone

Comments

@hubertp
Copy link
Collaborator

hubertp commented Sep 5, 2023

The feature has been added on the engine side #5197 but has regressed some time since:
Screenshot from 2023-09-05 12-32-53

The client (IDE) will a) disconnect from LS and project manager when waking up b) attempt, after a brief moment, to reconnect to the same port.
The fix for #5197 introduced a delay so that we wouldn't shutdown LS immediately. Rather we would allow LS to live for a brief moment waiting on any new connections, thus allowing clients to re-connect to the same port.

This has regressed partially via #7699 but reverting it is not sufficient to bring the functionality back.

Related to #5202 and #7470

@hubertp hubertp added --regression Important: regression -language-server labels Sep 5, 2023
@hubertp hubertp self-assigned this Sep 5, 2023
@github-project-automation github-project-automation bot moved this to ❓New in Issues Board Sep 5, 2023
@jdunkerley jdunkerley moved this from ❓New to 📤 Backlog in Issues Board Sep 6, 2023
@jdunkerley jdunkerley added this to the Beta Release milestone Sep 6, 2023
@jdunkerley jdunkerley moved this from 📤 Backlog to 🔧 Implementation in Issues Board Sep 12, 2023
hubertp added a commit that referenced this issue Sep 12, 2023
This PR addresses problems mentioned in #7470 and #7729:
- shutting a language server explicitly will not lead to a soft shutdown
- `project/status` endpoint returns the state of the language server

`LanguageServerController` now also signed up for `ClientConnect`
messages. For it to be unambiguous, we need to carry around the port
number of the language server as a way of identifying the right one.

One can now use `project/status` to additionally determine the state of
the language server.

Also relies on a proper fix for #7765.
@hubertp hubertp moved this from 🔧 Implementation to 👁️ Code review in Issues Board Sep 13, 2023
hubertp added a commit that referenced this issue Sep 19, 2023
This PR addresses problems mentioned in #7470 and #7729:
- shutting a language server explicitly will not lead to a soft shutdown
- `project/status` endpoint returns the state of the language server

`LanguageServerController` now also signed up for `ClientConnect`
messages. For it to be unambiguous, we need to carry around the port
number of the language server as a way of identifying the right one.

One can now use `project/status` to additionally determine the state of
the language server.

Also relies on a proper fix for #7765.
hubertp added a commit that referenced this issue Sep 22, 2023
* Improve shutdown logic of language server

This PR addresses problems mentioned in #7470 and #7729:
- shutting a language server explicitly will not lead to a soft shutdown
- `project/status` endpoint returns the state of the language server

`LanguageServerController` now also signed up for `ClientConnect`
messages. For it to be unambiguous, we need to carry around the port
number of the language server as a way of identifying the right one.

One can now use `project/status` to additionally determine the state of
the language server.

Also relies on a proper fix for #7765.

* changelog

* PR comments
@hubertp
Copy link
Collaborator Author

hubertp commented Sep 26, 2023

Done with #7801

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Archived in project
Development

No branches or pull requests

2 participants