-
Notifications
You must be signed in to change notification settings - Fork 378
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
Add support for multi-user features #1916
Comments
For the record, what is not included in the scope of this work is auth and identity. Authentication (am I allowed to do access this) and identity (who is accessing this) will be implemented at the plugin layer, allowing these to be connected to arbitrary outside systems such as AAD, oauth, etc. Personalization is also excluded from the scope. For example, the recently opened bots list can continue to be "global", as well as any Composer-level configuration options. |
I am working on this now! |
These changes are (or will be soon) present in #2023 |
This is an umbrella issue for multi-user features that will link to more specific tasks.
Is your feature request related to a problem? Please describe.
It is currently not possible for multiple users to simultaneously use a single shared instance of Composer. This prevents users from hosting Composer on a website, and makes it difficult to collaborate.
Scenarios
Composer should be updated to allow multiple simultaneous sessions that will allow the following scenarios (all assume a single shared instance of Composer running on a shared web resource):
Required Changes
The work required to implement this functionality can largely be described as allowing multiple instances of the browser "client" to be served by a single instance of the Node-based "server." These clients may be a single user with multiple tabs open, or multiple users on different machines.
Broadly, this will require that the client specify the identity of the bot being modified as part of (most) API requests, and for the server to be updated to use this information to make modifications to the appropriate resources.
Basic Multi-user support
/dialogs/main
is now/bot/:ID:/dialogs/Main
and ensure that, given a bot id in the url, the application is instantiated with the proper configuration and parameters (in other words, enable deep links)Prevent content overwrite
The application should prevent a user from overwriting changes by another user (or by same user in a different tab). If changes have occurred since the user initially loaded the document, changes should be discarded and an error message should be presented informing the user they should reload the page.
This will prevent key issues we've already heard from customers including overwriting yourself by editing in the wrong tab, and coworker overwriting newer changes with an old instance of an editor.
For reference, see a previous ticket on this subject #1330
[ON HOLD] Support in language servers
These changes will now not be necessary because the language servers are moving into the client.
The text was updated successfully, but these errors were encountered: