* Add 'reply to' UI to the message composer.
* Move the `BlurHashAsyncImage` to `:libraries:designsystem` as it is now used in several modules.
* Create reusable `AttachmentThumbnail` and associated data classes and enums, it's now added to `:libraries:matrixui`.
* Re-use `AttachmentThumbnail` in a `ActionListView` and `TextComposer`.
* Add 'inReplyTo' models and UI.
* Add min size for images
* Create a separate layout for media items with no reply to info. Also, separate `Timeline__Row` components from `TimelineView`, as it was getting too large.
* Added `EqualWidthColumn` to use inside message bubbles. Also fixed some modifiers for media items replying to other messages.
* Disable `inReplyToClicked`.
* Remove unused resources and libraries.
* Remove any traces of `BlurHashAsyncImage` in `:features:messages`, since it was moved to the design system.
---------
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
Use member count instead of counting members
For the room details screen, use the member count as supplied by
matrix instead of waiting for the entire member list to be
retrieved and then manually adding up all the relevant users.
This removes the loading state of the member count, relying on
a spinner on the member list itself if the user actually wants
to see the members. (The performance of that will be improved
separately on the rust side in the future)
Closes#505
* Replace bottom sheets in timeline with M3 ones.
* Add missing options to menu with the right icons
* Add message summary and reaction emoji row.
* Use the same icon in the message summary and file timeline item
- Add the edit action in the room details
- Add "Add topic" button in room details
- Add the screen behind that action to edit some room properties: avatar, name, topic
- Handle the save button action
- enable the button only if changes are detected
- display a loader "updating room"
- display an error dialog if any request has failed
- Check user has the right power level to change various attributes
- "Add topic" is only shown if there's no topic and they are able to set on
- Edit menu is only shown if they can change topic, name or avatar
- On the edit page, any fields they can't change are uneditable
Co-authored-by: Chris Smith <csmith@lunarian.uk>
Display a notice if Matrix ID isn't resolved
If we can't get the profile of a user after an mxid was
searched for, show a warning under their ID to say the
invite probably won't be delivered.
Closes#424
- Adds `ModalBottomSheet` to our design components (it wraps the homonimous Material3 one).
- Adds a bottom sheet to the Room list using the aforementioned design component.
- Adds navigation from the room list to a room detail (context menu "Settings" action).
- Consolidates the "leave room flow" into a new `leaveroom` module used by both the room list and the room details.
- Adds progress indicator to the leave room flow
- Uses new `leaveroom` module in `roomdetails` module too.
Parent issue:
- https://github.com/vector-im/element-x-android/issues/261
Invite users to existing rooms
Scope:
- Allow inviting from the room detail screen and the member list
- Invite option is only shown if the user has the correct power level
- Search flow the same as creating a new room, allowing multi-select
- Existing room members/invitees are disabled with a custom caption
- Sending is asynchronous, an error dialog will appear wherever the
user is if necessary
Closes#245