Adopt various rust side Timeline API additions (#3423)

* 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
This commit is contained in:
Stefan Ceriu
2024-10-16 19:08:34 +03:00
committed by GitHub
parent 5a89219f9a
commit 0651314e3e
35 changed files with 201 additions and 184 deletions
@@ -11,14 +11,14 @@ import MatrixRustSDK
/// A light wrapper around timeline items returned from Rust.
enum TimelineItemProxy {
case event(EventTimelineItemProxy)
case virtual(MatrixRustSDK.VirtualTimelineItem, uniqueID: String)
case virtual(MatrixRustSDK.VirtualTimelineItem, uniqueID: TimelineUniqueId)
case unknown(MatrixRustSDK.TimelineItem)
init(item: MatrixRustSDK.TimelineItem) {
if let eventItem = item.asEvent() {
self = .event(EventTimelineItemProxy(item: eventItem, uniqueID: String(item.uniqueId())))
self = .event(EventTimelineItemProxy(item: eventItem, uniqueID: item.uniqueId()))
} else if let virtualItem = item.asVirtual() {
self = .virtual(virtualItem, uniqueID: String(item.uniqueId()))
self = .virtual(virtualItem, uniqueID: item.uniqueId())
} else {
self = .unknown(item)
}
@@ -71,7 +71,7 @@ class EventTimelineItemProxy {
let item: MatrixRustSDK.EventTimelineItem
let id: TimelineItemIdentifier
init(item: MatrixRustSDK.EventTimelineItem, uniqueID: String) {
init(item: MatrixRustSDK.EventTimelineItem, uniqueID: TimelineUniqueId) {
self.item = item
id = .event(uniqueID: uniqueID, eventOrTransactionID: item.eventOrTransactionId)