* Use `ClientSessionDelegate` to ensure tokens are always updated.
Refreshed tokens on client restoration might not have been stored to disk if the token refresh happened before `RustMatrixClient` was built and the `ClientDelegate` was set in it.
Using `ClientSessionDelegate` should ensure the tokens refreshed callback is called at any point in time.
* Improve how assigning the Client works, fix docs
* Fix review comments
* Introduce value class UniqueId.
* Allow reactions on non-sent Event, the SDK can now handle it.
Also the SDK will manage local echo for reactions.
* Update dependency org.matrix.rustcomponents:sdk-android to v0.2.41
* Fixes after SDK upgrade:
- Use `ClientBuilderSlidingSync` to set `SlidingSyncVersionBuilder` in `RustMatrixClientFactory`.
- `Room.toggleReaction(emoji: String, eventId: EventId)` is now `Room.toggleReaction(emoji: String, uniqueId: UniqueId)`, since reactions can now be applied to local echoes too in the SDK.
* Rename exception case
* Fix wrong error case being used in test
---------
Co-authored-by: Benoit Marty <benoit@matrix.org>
Co-authored-by: Benoit Marty <benoitm@matrix.org>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
Rename `Mention` to `IntentionalMention` for clarity
Remove dead code, there is no intentional mention for Room or RoomAlias.
Rename `IntentionalMention.AtRoom` to `IntentionalMention.Room` to match Rust naming
* Add logging to help debug forced logout issues
* Use tags instead of manually adding the values to the logs.
- Also add extension functions to easily get anonymized tokens from `Session`/`SessionData`.
* Make sure only 1 operation related to token persistence can run at the same time
* Add centralised 'room is DM' check
Also add extension functions for `MatrixRoom` and `MatrixRoomInfo`.
* Use the centralised method and extension functions through the app, including:
- Room list.
- Room details screen.
- Invites.
- Notifications.
Replace most `isDirect` usages with `isDm`.
* Update screenshots
---------
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
* Update dependency org.matrix.rustcomponents:sdk-android to v0.2.31
* Use new Rust client side sorting API
* Make `RoomListEntriesUpdate.describe()` an extension function
* Remove `RoomListSummary.Filled` and `RoomListSummary.Empty`
* Fix icon sizes to pass the lint checks
* Update screenshots
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
Co-authored-by: ElementBot <benoitm+elementbot@element.io>