Open lampholder opened 5 years ago
N.B. The is different from https://github.com/matrix-org/matrix-doc/pull/2315 which allows users to set 'none' as their integration manager. The intention here is to give users clear control over their interaction with integration managers by separating in users' minds two distinct concepts:
It is an important distinction - the UX should not present a choice for you to 'disconnect from the integration manager' as it does for the identity server.
If a user does not want to share their data with an integration manger, they should:
If anybody is reading this wondering why we didn't just treat these two as one, it's because widgets can come from a range of sources (different integration mangers, or no integration manager at all) and toggling off all widgets along with integration-managers-for-setup-and-stickers felt like an overly blunt instrument.
This approach lets users choose not use to an integration manager for sending stickers or setting up their own integrations, but lets provision widgets without an integration manager (using the /addwidget
command, and still use widgets provisioned by other people (with or without an integration manager).
My choice of whether or not to use an integration manager to set up integrations and send stickers is persisted and honoured across all Riot clients/sessions
This is https://github.com/matrix-org/matrix-doc/pull/2315 (the spec should be in support of the UX described here - if it's not, please leave a comment on the MSC)
N.B. The is different from https://github.com/matrix-org/matrix-doc/pull/2315 which allows users to set 'none' as their integration manager.
This option lets users say they don't want to use an integration manager for sending stickers or setting up their own integrations, but lets them still use widgets provisioned by other people using an integration manager.
Due to scalar's reliance upon scalar tokens being passed to it to render any widget, riots with an integration manager set to 'none' cannot render scalar widgets provisioned by other users.
In order to completely avoid sharing personal data with a given integration manager, the user should:
Implementation is blocked on approval of https://github.com/vector-im/riot-meta/pull/310
The MSC mentioned above should be ignored - we don't need it.
Potential Mobile UX:
I want to send stickers and set up integrations. ⊂⦿ This requires the use of an integration manager. Setting up integrations will share configuration data with your client's integration manager: https://scalar.vector.im.
Story modified to reflect Nad's statement that we should never hide UI.
@nadonomy - this is the issue with outstanding wordsmithing
If I (somehow) have no integration manager configured (there's nothing in .well-known, config.json or account data), the integration manager button and sticker picker should be hidden exaxctly as if I had chosen not to use an integration manager to set up integrations or send stickers
@lampholder Didn't we say that we should let the button visible for discovery even if they do not work?
@lampholder Didn't we say that we should let the button visible for discovery even if they do not work?
We did - I updated the top of the issue but forgot there was another reference here. @nadonomy we do need a bit more copy for the 'no integration manager configured' case. Probably something like:
"Your client has not been set up to use an integration manager - you need an integration manager to set up and configure integrations. Please talk to your service provider for more information."
@lampholder to clarify, this affects the integration manager button and the sticker picker button? Did that copy get approved?
When clicking on the 'Manage Integrations' or sticker picker buttons in Riot, we should use the following copy in modals:
If Riot can't use an Integration Manager (due to synapse or riot config):
"Your Riot doesn't allow you to use an Integration Manager to do this. Please contact an admin." [OK]
If the user has toggled off 'Manage integrations' in Settings
"Enable 'Manage Integrations' in Settings to do this." [OK] [Settings]
I don't believe this has any outstanding design issues, so I'm removing needs-ux-design
Edge cases:
FORBIDDEN
)