element-hq / element-meta

Shared/meta documentation and project artefacts for Element clients
75 stars 12 forks source link

[Story] Create a new room (with ask to join & redesign) #2575

Open mxandreas opened 1 month ago

mxandreas commented 1 month ago

Description

Background In order to fit in the option to create a room with the knock join rule, the design of the room creation modal has been revisited to ensure it is optimized for the most common use cases (not to overwhelm users with a lot of choices to think about), and the UX becomes also more consistent between EX and EW.

The main differences that will remain between EX and EW:

The following 2 tables show how the user controls are mapped to the room configuration, note it does not include obvious 1:1 mappings (e.g. room name or topic).

EX: image

EW: image

It is worth explicitly noting that on EW the E2EE is no longer shown - it defaults to either OFF or ON, depending on room's visibility.

Conditions

Public room & addresses

Designs:

Acceptance criteria

Size estimate

None

Dependencies

Out of scope

Open questions

### Questions
- [ ] Confirm that EW respect this well-known configuration to enforce E2EE to OFF (always)? If yes, we should keep that logic when creating the room and also apply it in EX. https://web-docs.element.dev/Element Web/e2ee.html#disabling-encryption-by-default

Subtasks

### Android
- [ ] https://github.com/element-hq/element-x-android/issues/3689
### iOS
- [ ] https://github.com/element-hq/element-x-ios/issues/3419
### Rust
- [ ] https://github.com/matrix-org/matrix-rust-sdk/pull/4145
- [ ] https://github.com/matrix-org/matrix-rust-sdk/pull/4151
### Other
jmartinesp commented 1 month ago

I've added a couple of PRs that changed the room creation stage in Rust so we can:

Besides that, the existing API already allows you to customise visibility, the preset used for creating the room, and whether E2EE is enabled. I'm not sure if we're missing anything else.

mxandreas commented 1 month ago

As a result of the discussion with @gaelledel and @ganfra we have decided to change the permissions for invite and kick from admin to moderator when you create a Ask to join room. That means that the only effective difference compared to what we have right now, is that for invite you need to be a moderator. For kick, you already needed to be a moderator.

mxandreas commented 1 month ago

Made the following update:

Conditions

mxandreas commented 3 weeks ago

This is to confirm the technical side of room publishing, and the address/alias that is required for that. I am pointing this out because this was not implemented in EX before and the topic is not trivial.

cc @ganfra