TypeFox / open-collaboration-tools

Open Collaboration Tools: live-sharing solution for Eclipse Theia, VS Code and other editors and IDEs
https://www.open-collab.tools/
MIT License
81 stars 5 forks source link

Use polling for login and room joining #41

Closed msujew closed 1 month ago

msujew commented 1 month ago

Closes https://github.com/TypeFox/open-collaboration-tools/issues/35 Attempts to fix https://github.com/TypeFox/open-collaboration-tools/issues/34

Uses a different networking solution when logging in and joining rooms. Instead of waiting until either action is completed until returning a result, both now are using a polling approach. This has two benefits:

  1. We can use the polling of the client to send updates about the process to the user (e.g. whether the join request is currently awaiting input from the host).
  2. It is less affected by a few bad requests. Since we regularly resend the polling requests, we can always ask again whether the login or join request has succeeded.

This is a breaking change in the server communication protocol. After merging this, we should update the protocol version to 0.2.0.

msujew commented 1 month ago

@spoenemann I cannot reproduce. How did you test the feature? Did you use vsce package --no-dependencies to build the extension and install that in a second vscode instance?