update expiration of sync visible messages

pull/941/head
ryanzhao 12 months ago
parent 66e45199d5
commit 6738af200f

@ -90,6 +90,32 @@ public enum ExpirationUpdateJob: JobExecutor {
}
)
}
public static func updateExpirationIfNeeded(_ db: Database, interactionId: Int64) {
guard
let interacion: Interaction = try? Interaction.fetchOne(db, id: interactionId),
let startedAtMs: TimeInterval = interacion.expiresStartedAtMs,
let expiresInSeconds: TimeInterval = interacion.expiresInSeconds,
let serverHash: String = interacion.serverHash
else {
return
}
let threadId: String = interacion.threadId
let expirationTimestampMs: Int64 = Int64(startedAtMs + expiresInSeconds * 1000)
JobRunner.add(
db,
job: Job(
variant: .expirationUpdate,
behaviour: .runOnce,
threadId: threadId,
details: ExpirationUpdateJob.Details(
serverHashes: [ serverHash ],
expirationTimestampMs: expirationTimestampMs
)
)
)
}
}
// MARK: - ExpirationUpdateJob.Details

@ -945,6 +945,10 @@ public final class MessageSender {
),
openGroupServerMessageId: message.openGroupServerMessageId.map { Int64($0) }
).update(db)
if interaction.isExpiringMessage {
}
}
// Mark the message as sent

Loading…
Cancel
Save