Tapping the red (!) on a message that failed to send used to show a bare
"Sending failed" alert with only an OK button. Now the alert includes the
failure reason from the SDK (e.g. the HTTP error that caused it) and offers
Retry sending, Remove message and Cancel actions, wired to the send handle's
resend and to redacting the local echo respectively.
* Bump the RustSDK to v25.04.09
* Adopt new MsgLike based timeline item structure.
* Move the `replyDetails` and `isThreaded` to the `RoomTimelineItemProperties`
* Restructure the TimelineItemFactory
* Fix line length warning
* Rename `msgLikeContent` to `messageLikeContent` wherever possible.
* Move the `EventTimelineItem` mocks to the SDK mocks folder.
* Introduce a `MediaEventsTimelineFlowCoordinator`
* Update SDK API and architecture
* Add a feature flag, add translations
* Move the media events timeline presentation under the room flow coordinator state machine
* Rename `TimelineViewState.timelineViewState` of type `TimelineState` to `timelineState`
* Enabled SwiftLint's `trailing_closure` rule and fix the warnings.
* Use a Date for the timestamp in all timeline items.
* UI test snapshots.
* Update snapshots
---------
Co-authored-by: Stefan Ceriu <stefanc@matrix.org>
* Adopt new reaction toggling API introduced in matrix-org/matrix-rust-sdk/pull/4127
* Adopt the changes introduced in matrix-org/matrix-rust-sdk/pull/4111: use the new `TimelineUniqueId` type instead of `String` for unique timeline identifiers.
* Bump the RustSDK to v1.0.58.
* Fix unit tests
* Update the SDK.
* Fix API breaks on send failures and propagate the new type.
* Handle new SDK ShieldState.
* Set up the ClientBuilder's `cachePath` option.
* Delete the cacheDirectory during logout/clearCache.
* Add unit tests for RestorationToken decoding and SessionDirectories generation.