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

Design Rudimentary Multi-Client Support #736

Closed
2 tasks
iamrecursion opened this issue Dec 18, 2019 · 0 comments
Closed
2 tasks

Design Rudimentary Multi-Client Support #736

iamrecursion opened this issue Dec 18, 2019 · 0 comments
Assignees
Labels
-tooling Category: tooling p-high Should be completed in the next sprint

Comments

@iamrecursion
Copy link
Contributor

Summary

It is important for our users that they are able to connect multiple IDE clients to a single running Enso project. This enables a multitude of sharing and collaborative workflows, letting users work seamlessly together from their own machines. While, initially, we only aim to have rudimentary multi-client support. we want to evolve to support collaborative real-time editing in the future, and so the implementation should account for this.

Furthermore, we want to remain compatible with the single-client LSP as we implement this, so care will need to be taken to ensure that we remain compatible while creating an authorisation flow for additional connections.

Value

We have rudimentary multi-client support in the engine, allowing multiple users to connect to one instance at once. Furthermore, maintiain LSP compatibility.

Specification

  • Determine which portions of the LSP initialisation and authorisation flow need to be extended (if any) to support multiple client connections.
  • Document any of these protocol extensions in the engine services design document.

Acceptance Criteria & Test Cases

  • We can support multiple clients connecting to a single engine instance, where only one client is able to write at any given time.
  • This functionality is rigorously tested using stub endpoints.
@iamrecursion iamrecursion changed the title Add Rudimentary Multi-Client Support Design Rudimentary Multi-Client Support Jan 22, 2020
@iamrecursion iamrecursion transferred this issue from another repository Jun 23, 2020
@joenash joenash added -tooling Category: tooling Change: Non-Breaking p-high Should be completed in the next sprint labels Jun 23, 2020
@iamrecursion iamrecursion mentioned this issue Jun 24, 2020
26 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
-tooling Category: tooling p-high Should be completed in the next sprint
Projects
None yet
Development

No branches or pull requests

4 participants