* Always display 'lost recovery key?' option
* Use `isLastDevice` it to display only 'enter recovery key' option for verification.
* Update strings. This should fix the wrong term 'passcode' being used in the recovery key screen title.
* Disable 'lost your recovery key?' button while the screen is in a loading state
* Update screenshots
---------
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
* Remove `SessionData.needsVerification` as the source of truth for session verification status.
- Use the Rust SDK `EncryptionService.verificationState()` instead, but always waiting for the first 'known' result (either verified or not, discarding 'unknown').
- Add a workaround in the super rare case when reading this value gets stuck somehow. We'll assume the user is not verified in that case.
- Make `DefaultFtueService.getNextStep` and dependent checks `suspend`.
- Make the `skip` button use a value in the session preferences instead.
* Log exception when the verification status can't be loaded
Co-authored-by: Benoit Marty <benoit@matrix.org>
* Fix review comments
---------
Co-authored-by: Benoit Marty <benoit@matrix.org>
* Improve enter recovery key screen UI
* Add instructions to reset the encryption of the logged in account.
* Update screenshots
* Fix maestro flow
---------
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
* Categorise members by role in the ChangeRoles screen
* Fix automatic reload of member list when either the membership or power levels change
* Replace empty space with disabled checkbox
* Add 'pending' label to members who are in invited state
* Implement new designs
* Fix string issue in confirm recovery key screen
* Update screenshots
---------
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
Initially I had it implemented such that it would only fallback on
error, but actually it's nice to have also while loading if it takes
a while to load the avatar.
* Move session verification to the FTUE
* Allow session verification flow to be restarted
* Use `EncryptionService` to display session verification faster
* Remove session verification item from settings
* Remove session verification banner from room list
* Remove 'verification needed' variant from the `TimelineEncryptedHistoryBanner`
* Improve verification flow UI and UX
* Remove 'verification successful' snackbar message
* Only register push provider after the session has been verified
* Hide room list while the session hasn't been verified
* Prevent deep links from changing the navigation if the session isn't verified
* Update screenshots
* Renamed `FtueState` to `FtueService`, created an actual `FtueState`.
---------
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
* Implement MSC2530
* Some layout improvements for images and videos with captions
* Update screenshots
* Replace `it` in several previews with `isMine`
---------
Signed-off-by: Marco Antonio Alvarez <surakin@gmail.com>
Co-authored-by: Marco Antonio Alvarez <surakin@gmail.com>
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
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