In dark mode, the ElementTheme composable incorrectly applied a dark
colour to the status bars, which was nearly invisible on top of the
black background of the app.
Signed-off-by: Joe Groocock <me@frebib.net>
Hide images, videos and stickers in the timeline.
Disable click on hidden content. It must be revealed first.
Add preview without BlurHash.
Also hide image in thumbnails.
* Use Anvil KSP instead of the Square KAPT one
* Fix several configuration cache, lint and test issues
* Allow incremental kotlin compilation in the CI
* Workaround Robolectric + Compose issue that caused `AppNotIdleException`
* Update the `enterprise` commit hash
* Update screenshots
---------
Co-authored-by: ElementBot <android@element.io>
If two rooms have the same canonical alias, e.g. the recently tombstoned
and upgraded #foundation-office:matrix.org, typing `#foun` into the
composer could cause the app to crash. This avoids that by using the
(hopefully) globally unique room id as the key instead.
Signed-off-by: Joe Groocock <me@frebib.net>
* Adapt to changes in the SDK
* Update dependency org.matrix.rustcomponents:sdk-android to v0.2.50
* Use lambda instead of overriding the `EventDebugInfoProvider` interface
* Fix test proposal.
We may find a better way to compare data class instance if we need to do more comparison in the future...
---------
Co-authored-by: Jorge Martín <jorgem@element.io>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Benoit Marty <benoit@matrix.org>
In the case of captioned images, the `body` of the event is the caption,
and is ill suited to be a filename. Often the caption can be
prohibitively long, causing the media to fail to load in some cases.
Fixes: https://github.com/element-hq/element-x-android/issues/2882
Signed-off-by: Joe Groocock <me@frebib.net>
* Fix pinned events banner reappearing when loading.
Make the `RustTimelineItem.timelineItems` property a `SharedFlow` so we don't always incorrectly load an empty state by default.
* Add `MatrixClient.isSlidingSyncProxySupported` function
* Update localazy strings
* Modify `ErrorDialog` to have an `onSubmit` call, which will be used for the submit action.
Also make the title text optional and dismissing the dialog by tapping outside/going back configurable.
* Check if a forced migration to SSS is needed because the proxy is no longer available.
In that case, display the non-dismissable dialog and force the user to log out after enabling SSS.
* Enable native/simplified sliding sync by default.
* Refactor the login to make sure we:
1. Always try native/simplified sliding sync login first, if available.
2. Then, if it wasn't available or failed with an sliding sync not supported error, try with the proxy instead (either discovered proxy or forced custom one).
* Move logic to `LoggedInPresenter` and the UI to `LoggedInView`
* Update screenshots
---------
Co-authored-by: ElementBot <benoitm+elementbot@element.io>