Improve room member list UX:
- Don't display the list in chunks anymore.
- Use an indeterminate linear progress indicator to display some loading is being done (either loading the cached list or the updated one).
- Try to make sure we don't display the members loaded from timeline items as the cached room list by mistake.
* Update screenshots
* Simplify member loading logic.
---------
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
* Added empty state to banned member list
* Center both empty states in `RoomMemberListView` and `PollHistoryView`
* Update screenshots
---------
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
* Change a room's permissions power levels
* Make `currentPermissions` use a `MatrixRoomPowerLevels?` instance instead.
* Update strings
* Update screenshots
---------
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
Read receipts have been considered quite stable over the last few weeks, so
there's no need to keep the trace level for the associated logs for the time
being.
Allow Admins to modify room member roles:
- Add a 'roles and permissions' option for each room.
- Allow promoting users to admins, adding or removing moderators, and demote yourself if you're and admin.
---------
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
* Add extra params to bug reports
- `local_time`: the time in the device's timezone.
- `utc_time`: the time in UTC.
- `sdk_sha`: the commit SHA that was used to build the Rust SDK
* Improve how Talkback works with the timeline
* Fix interaction test by adding test tag
* Disable reverse layout when a screen reader is enabled
This messes up with the ordering, but fixes the scrolling when a screen reader is used.
Update Compound to `v0.0.5`:
- Make sure we fix all the breaking changes.
- Update some icons to use the compound version instead.
-Replace icons with their Compound counterparts when possible.
- Clean up unused icons.
- Fix issues with incorrect icons or sizes being used after replacing the temporary icons with the Compound ones.
---------
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
* Rename migration bg drawable and add night variant
* Move `migration` package from `ftue` to `messages:impl` module
* Update `SunsetPage` with light and dark modes
* Fix bloom colors when nested theme is used
* Integrate the migration screen in the room list
* Fix `WaitListView` cancel button color
* Clear migration store when removing the app's cache
---------
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
- Make `RoomListDataSource.allRooms` a `SharedFlow` so we can know when we don't have a value yet.
- Map its output in `RoomListPresenter` to `AsyncData`.
- Display the new empty state when the room list has loaded and has no items.
* Fix crash about several DataStores using the same file
- Create `@SessionCoroutineScope` annotation to pass a session-managed coroutine scope to the DI.
- Expose this scope from `MatrixClient`.
- Rework DataStore file creation a bit.
- Centralise session preference creation through `DefaultSessionPreferencesStoreFactory` until we figure out what went wrong with the scoping
* Add 'send private read receipts' option in advanced settings
* Create `SessionPreferencesStore` that stores the settings for the current use separate from those of the app.
* Rename `PreferencesStore` to `AppPreferencesStore` to split the preferences.
---------
Co-authored-by: ElementBot <benoitm+elementbot@element.io>