- Add UI and logic to inform the user of mismatched notification settings and help them correct it.
- Display a warning when the system notification settings are disabled and a link out to the app settings.
- A toggle to disable notifications for the device
- A screen for editing the group and direct chat notification defaults.
- A toggle for switching on/off atRoom and call notifications.
* Revert "Ensure the sync is started when receiving a Push, to ensure that the encryption loop is running."
This reverts commit 82f6f358a7.
* Integrate SDK from https://github.com/matrix-org/matrix-rust-sdk/pull/2505
* Enable retryDecryption() on the NotificationClient.
* SDK 0.1.49 - Encryption Sync is enabled by default now, and retryDecryption is the default too.
* Remove feature flag `UseEncryptionSync`
* Fix sample project build
* Exclude `DeveloperSettingsPresenter` from kover verification.
* Add changelog
---------
Co-authored-by: Jorge Martín <jorgem@element.io>
* Change RoomSummaryDataSource to RoomListService to better reflects the rust api
* Better Sync management
* Sync: improve sync spinner rendering
* Sync: make test compiles
* Sync: add more test for sync spinner
* Sync: more clean-up
* Sync: pr review
---------
Co-authored-by: ganfra <francoisg@element.io>
* Enable filter push notifications by push rules
* Remove unused `filterByPushRules` parameter
* Use fallback notification only for items not filetered by the push rules
* Fix tests
* Fix displaying reaction row in message action list
* Rename `sendState` to `localSendState` and make it nullable.
Create an `isRemote` helper to detect if an event comes from the server instead.
---------
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
* Fix actions for redacted, not sent and media messages
* Make `EventDebugInfoView` sections fill max width
* Don't display action list if there are no actions to display
---------
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
* Send read receipts
* Add changelog
* Add tests.
* Optimise how sending read receipts work in the timeline.
* Move the check for send read receipts to the presenter
Also improve the way we find the first visible `Event` if we have `Virtual` ones in the timeline.
- `syncUpdateFlow` becomes a `val` and always returns the same instance of the underlying `StateFlow` instead of different `Flow` instances to allow consumers not to remember the `Flow` and not to specify an unneeded initial value.
- `timeline` becomes a `val` as it already always returns the same instance.
- Amends calling code accordingly
- Removes a few unneeded `val`s in `RustMatrixClient
- Fixes a small bug in `MessagesPresenter` that allowed to sometime show a newly created room's name as "Empty room" (changes `LaunchedEffect(syncUpdateFlow)` to `LaunchedEffect(syncUpdateFlow.value)`)
If you are looking at a DM where the other party has left then
when you focus the composer for the first time we'll show a
dialog asking if you want to reinvite the other party.
Closes#590