Adopt the new send queue interfaces

This commit is contained in:
Stefan Ceriu
2026-09-18 15:39:52 +03:00
parent 690f2be5f4
commit e51d869fdc
9 changed files with 308 additions and 19 deletions
@@ -84,11 +84,11 @@ final nonisolated class EventTimelineItemProxy: Sendable {
}
var deliveryStatus: TimelineItemDeliveryStatus? {
guard let localSendState = item.localSendState else {
guard let pendingSend else {
return nil
}
switch localSendState {
switch pendingSend.state {
case .sendingFailed(let error, _):
switch error {
case .identityViolations(let users):
@@ -107,6 +107,19 @@ final nonisolated class EventTimelineItemProxy: Sendable {
}
}
/// The item's own pending send or, when it has already gone out, our pending edit or redaction of it.
var pendingSend: (target: SendTarget, state: EventSendState)? {
if let state = item.localSendState {
(.event, state)
} else if let state = item.editSendState {
(.edit, state)
} else if let state = item.redactionSendState {
(.redaction, state)
} else {
nil
}
}
var canBeRepliedTo: Bool {
item.canBeRepliedTo
}