* Try disabling cron jobs in forks
* Try fixing quality checks
* Try fixing tests and enterprise builds
* Stop using the ssh private key in more quality checks
* Try disabling codecov if there is no token
* Avoid SQLCipher key derivation by manually providing the generated as a raw key: this needs a series of DB re-key operations, performed as part of a 'dummy' DB migration
* Set key generation length to 32 bytes in `RandomSecretPassphraseProvider`.
* Use `ClientSecret` for handling the keys for SQLCipher. Move `ClientSecret` to `:libraries:androidutils` so it's shared.
* Use a raw key for the SDK stores for new sessions
- Add `ClientSecret` to tell apart the legacy passphrases from the raw keys and centralise parsing/formatting.
- Use the `ClientSecret` to set the passphrase/key in the `SqliteStoreBuilder`.
1. Make some logs use `info` log level instead of `debug`, so they appear in most user's bug reports.
2. Make the anonymized tokens even harder to reverse.
3. Detect when the tokens we should be saving match the current ones, as that's an error.
* Move empty day separator filtering to a timeline post-processor
* Split `FilterPublicMembershipChangesPostProcessor` from `RoomBeginningPostProcessor`
When returning to the chat screen from the room details one or a member's profile, `TimelineEvent.OnScrollFinished` will be called immediately, and this would read the default value for `isSendPublicReadReceiptsEnabled`, which is `true`.
If you had public read receipts disabled, this is a mistake, and would send a public read receipt. Instead, what we want to do is wait until the updated value is emitted and use it to decide whether we want to send a public or private read receipt.
* Use `runBlocking` for the token refresh logic
The `RustClientSessionDelegate` callbacks always run in a separate thread, so they don't block the main thread.
This ensures the token refresh is fully done (data saved/failed to) before the SDK continues sending the pending previously failed requests
* Fix message type prefixes formatting inconsistencies
* Use new string for the poll summary prefix instead of the A11y text. Also add tests check for the bold spans.
---------
Co-authored-by: Jorge Martín <jorgem@element.io>
* Filter some membership/profile/topic events in public rooms: don't display join and leave membership events in publicly joinable rooms, and hide display name and avatar url changes in non encrypted and publicly joinable rooms.
* Add empty day post-processing to the timeline based on bxdxnn's code, tweaked.
---------
Co-authored-by: Jorge Martín <jorgem@element.io>
* Update dependency org.matrix.rustcomponents:sdk-android to v26.05.20
* Fix API breaks:
- Handle new `ClientBuildException.InvalidRawKey` variant.
- `RoomInfo` now has a `fullyReadEventId` .
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>