Non-decryptable timeline items and debug menu (#300)

* Fixes #292 - Added a timeline item context menu option for printing and showing their debug description
* Fixes #291 - Add support for non-decryptable timeline items
This commit is contained in:
Stefan Ceriu
2022-11-08 13:17:38 +02:00
committed by GitHub
parent 7a7680b165
commit 89742ceb53
17 changed files with 312 additions and 21 deletions
@@ -20,7 +20,7 @@ import MatrixRustSDK
enum TimelineItemProxy {
case event(EventTimelineItemProxy)
case virtual(MatrixRustSDK.VirtualTimelineItem)
case other(MatrixRustSDK.TimelineItem)
case unknown(MatrixRustSDK.TimelineItem)
init(item: MatrixRustSDK.TimelineItem) {
if let eventItem = item.asEvent() {
@@ -28,7 +28,7 @@ enum TimelineItemProxy {
} else if let virtualItem = item.asVirtual() {
self = .virtual(virtualItem)
} else {
self = .other(item)
self = .unknown(item)
}
}
@@ -42,7 +42,7 @@ enum TimelineItemProxy {
}
/// A light wrapper around event timeline items returned from Rust.
struct EventTimelineItemProxy {
struct EventTimelineItemProxy: CustomDebugStringConvertible {
let item: MatrixRustSDK.EventTimelineItem
init(item: MatrixRustSDK.EventTimelineItem) {
@@ -94,4 +94,10 @@ struct EventTimelineItemProxy {
return .now
}
}
// MARK: - CustomDebugStringConvertible
var debugDescription: String {
item.fmtDebug()
}
}