* 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>
* Make `ContentAvoidingLayoutScopeInstance` scope aware so message bubbles are resized when edited.
* Move back to using `Layout` instead of `SubcomposeLayout`
* Try mitigating unexpected logouts.
Try making getting/storing session data use a Mutex for synchronization.
Also added some more logs so we can understand exactly where it's failing.
The passphrase is stored in the SessionData, so that a Session created by Element Android can be restored.
Existing sessions will have a null passphrase and will continue to work.
New session will use a passphrase, only on Nightly and Debug build for now.
* Upgrade Material3 Compose to `1.2.0-beta02`.
There is also a constraint on a transitive Compose Foundation dependency version (1.6.0-beta02) that fixes the timeline scrolling issue.
---------
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
Applied to:
- timeline message
- detail of timeline message
- reply preview of timeline message
- rendering of state Event
Not applied to:
- room last message
- room member list (we display the MatrixId here)
- room member detail page
* Upgrade to AGP 8.2.0
Add proguard rule for the problematic TagSoup library. For some reason, adding this in the consumer proguard rules of the RTE library doesn't seem to work.
---------
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
* Explicitely use the thumbnail url to show stickers if the content's url is an empty string
---------
Signed-off-by: Marco Antonio Alvarez <surakin@gmail.com>