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

Message Connection Stability Improvement #11271

Closed
DanboDuan opened this issue Jun 8, 2022 · 5 comments
Closed

Message Connection Stability Improvement #11271

DanboDuan opened this issue Jun 8, 2022 · 5 comments
Labels
messaging issues related to messaging proposal feature proposals (potential future features)

Comments

@DanboDuan
Copy link
Contributor

Should we(Theia) provide a stable connection between server and browser ?

Here is the situation :

Theia would close the message connection at once when networking is disconnected, e.g. the socket.io emit the disconnect event. Then the browser would reconnect and is treated as a new browser connected. Some doing job would be stopped .
For most situation there would be no problem, but for some case, this should be annoy. For example, if we are debugging some program and the network does not work well just for some moment, we will have to restart the job.

If we could provide a stable connection between server and browser, and do some job to manage the connections and re-connections, like open-vscode-server, this could be better.

It not a cost or hard job. We could just add a PersistentConnection base on WebSocketChannel and do some management, and it should work fine

@msujew
Copy link
Member

msujew commented Jun 8, 2022

@paul-marechal I'm not 100% but if I remember correctly you had something similar to this planned with your messaging refactoring, right?

Anyway, I would also be in favor of this feature.

@vince-fugnitto vince-fugnitto added messaging issues related to messaging proposal feature proposals (potential future features) labels Jun 8, 2022
@kittaakos
Copy link
Contributor

For example, if we are debugging some program and the network does not work well just for some moment, we will have to restart the job.

I had a similar issue, @DanboDuan. Do you need this for dev only or production too? What's your use case? For me, it was a ping timeout in dev mode. I logged it here: #11543. Please chime in if you have the same problem.

to manage the connections and re-connections

I develop electron apps, so there are no real connection issues between the backend and frontend, but even in dev mode, the reconnection happens automatically after a disconnect. In electron, there is nothing to manage. Theia does it. Do you experience no reconnect in web env?

@DanboDuan
Copy link
Contributor Author

For example, if we are debugging some program and the network does not work well just for some moment, we will have to restart the job.

I had a similar issue, @DanboDuan. Do you need this for dev only or production too? What's your use case? For me, it was a ping timeout in dev mode. I logged it here: #11543. Please chime in if you have the same problem.

to manage the connections and re-connections

I develop electron apps, so there are no real connection issues between the backend and frontend, but even in dev mode, the reconnection happens automatically after a disconnect. In electron, there is nothing to manage. Theia does it. Do you experience no reconnect in web env?

Well, I develop browser apps. So it would be much easy to meet the issues.

@paul-marechal
Copy link
Member

@paul-marechal I'm not 100% but if I remember correctly you had something similar to this planned with your messaging refactoring, right?

Status update: I had to put this work into backlog for a bit as other things came up, but yes this is one of the things I was taking into account with the refactoring. In the meantime we may proceed with DanboDuan's work.

@tsmaeder
Copy link
Contributor

I believe this request is acomplished with #13082

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
messaging issues related to messaging proposal feature proposals (potential future features)
Projects
None yet
Development

No branches or pull requests

6 participants