Fix disappearing messages

This commit is contained in:
nielsandriesse 2020-11-27 11:08:48 +11:00
parent 4dda59b446
commit 2a57b8ab5b
2 changed files with 4 additions and 1 deletions

View File

@ -875,7 +875,8 @@ static CGRect oldframe;
[infoMessage saveWithTransaction:transaction];
SNExpirationTimerUpdate *expirationTimerUpdate = [SNExpirationTimerUpdate new];
expirationTimerUpdate.duration = self.disappearingMessagesConfiguration.durationSeconds;
BOOL isEnabled = self.disappearingMessagesConfiguration.enabled;
expirationTimerUpdate.duration = isEnabled ? self.disappearingMessagesConfiguration.durationSeconds : 0;
[SNMessageSender send:expirationTimerUpdate inThread:self.thread usingTransaction:transaction];
}];
}

View File

@ -46,6 +46,8 @@ extension Storage {
/// Also touches the associated message.
public func setAttachmentState(to state: TSAttachmentPointerState, for pointer: TSAttachmentPointer, associatedWith tsIncomingMessageID: String, using transaction: Any) {
let transaction = transaction as! YapDatabaseReadWriteTransaction
// Workaround for some YapDatabase funkiness where pointer at this point can actually be a TSAttachmentStream
guard pointer.responds(to: #selector(setter: TSAttachmentPointer.state)) else { return }
pointer.state = state
pointer.save(with: transaction)
guard let tsIncomingMessage = TSIncomingMessage.fetch(uniqueId: tsIncomingMessageID, transaction: transaction) else { return }