-
Notifications
You must be signed in to change notification settings - Fork 14
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
[Story] Change room settings (with ask to join & redesign) #2631
Comments
For
I thought "Space members" is better because then you can select/change the spaces which you might want to do (which reminded me that we may have missed the selection of spaces in the designs). Ask to join does not not have any additional configuration attached to it.
We do not have a radio button for the history visibility |
Couldn't we just treat the Also I have another question, when E2EE is enabled, I imagine we want to completely avoid displaying in any case the "Anyone" history visibility option (even if for some reason the user has set the room to public). So in case a public visibility is selected and E2EE is selected, I imagine the only possible (and selected option) for the history radio, would be "Since selecting this option" one. |
This is fine with me. When user saves settings, we should keep
Yes, it is correct that if E2EE is ON, then the "Anyone" history visibility is not shown (as reading the messages is not possible anyway). However, when E2EE is ON, then the "Invited" history visibility is still shown (according to the current logic in the story) - because to hide it, E2EE needs to be OFF && join rule == public. Thus, the "Since selecting this option" would not be the only option. |
We synced during the meeting and concluded as follows:
The story will be updated accordingly. |
Description
Background
Similarly to the room creation, the room settings have been revisited, to support the knock join rule in there. The starting point for EW and EX is different - EX currently supports just editing the name, topic and avatar of the room while EW already had the option to change join rules, E2EE, add/edit room addresses, etc. The goal is to make EW and EX is consistent, and only have differences when there is a clear reason for that.
Known differences between EX & EW:
Controls & Conditions
The room name, topic and avatar parts keep working as before.
Room access
invite
restricted
knock
(orknock_restricted
- see details below)public
restricted
. User can see that this is the current room access (e.g. room was created by EW), and select another option, but never re/select this option.knock_restricted
is opened, the option Ask to join is selected.knock_restricted
is retained as long as user has Ask to join selected before saving changes.(Main) Room address
Under the hood, Matrix has a number of ways declaring the alias(es) for a room:
m.room.canonical_alias
can contain one "main" alias (fieldalias
) and a list of alternative aliases (fieldalt_aliases
). These are also referred to as "published aliases" as they are federated across homeservers.We want to keep it as simple as possible for the end user - e.g. not to drag them into the details of the published vs. local addresses as well as only keep it to one alias on EX, since multiple ones are rarely needed. However, note that due to federation, the room may actually still have multiple ones (e.g. for the different homeserver/users).
The "algorithm" to determine what is shown as room address and what is done when it is changed is as follows. Assuming the logged in user is @admin:example.com, the address to be shown is determined by one of the following (whichever matches first is used):
canonical_alias.alias
if it matches *.example.comcanonical_alias.alt_aliases
that matches *.example.comcanonical_alias.alias
canonical_alise.alt_aliases
When adding an address #new:example.com or changing it from #old:.com to #new:example.com:
canonical_alias.alias
or it matches *.example.com then replace it with #new:example.com.canonical_alias.alt_aliases
contains exactly one that matches *.example.com, then replace it with #new:example.comcanonical_alias.alt_aliases
Additionally:
Visible in public room directory
Enable end-to-end encryption
Who can read history
world_reabable
(shown when: (join rule is public and E2EE is OFF) or when current value isworld_readable
)shared
invited
(shown when: join rule is NOTpublic
or E2EE is ON or current value isinvited
or current value isjoined
)joined
, still the option Members since they were invited is selected.joined
is in this case also retained as long as the user has this option selected before saving.world_reable
option disappears,invited
is selected.invited
disappears,shared
is selected (this actually can not happen as long as there is no option to turn E2EE OFF).Permissions
Designs
Acceptance criteria
Size estimate
None
Dependencies
Out of scope
Open questions
Questions
Subtasks
Android
iOS
Rust
Other
The text was updated successfully, but these errors were encountered: