minor fix

This commit is contained in:
Ryan Zhao 2021-11-19 11:50:14 +11:00
parent 0c2027d7c8
commit e504e23f92
3 changed files with 9 additions and 5 deletions

View File

@ -69,6 +69,7 @@ public final class SessionCall: NSObject, WebRTCSessionDelegate {
case local
case remote
case unanswered
case answeredElsewhere
}
// MARK: Audio I/O mode
@ -245,6 +246,9 @@ public final class SessionCall: NSObject, WebRTCSessionDelegate {
newMessageBody = self.isOutgoing ? NSLocalizedString("call_rejected", comment: "") : NSLocalizedString("call_missing", comment: "")
case .unanswered:
newMessageBody = NSLocalizedString("call_timeout", comment: "")
case .answeredElsewhere:
newMessageBody = messageToUpdate.body!
shouldMarkAsRead = true
}
}
messageToUpdate.updateCall(withNewBody: newMessageBody, transaction: transaction)

View File

@ -105,8 +105,8 @@ public final class SessionCallManager: NSObject {
guard let call = currentCall else { return }
if let reason = reason {
self.provider.reportCall(with: call.callID, endedAt: nil, reason: reason)
if reason == .answeredElsewhere { return }
switch (reason) {
case .answeredElsewhere: call.updateCallMessage(mode: .answeredElsewhere)
case .unanswered: call.updateCallMessage(mode: .unanswered)
case .declinedElsewhere: call.updateCallMessage(mode: .local)
default: call.updateCallMessage(mode: .remote)

View File

@ -132,13 +132,13 @@ public final class MessageSender : NSObject {
guard message.isValid else { handleFailure(with: Error.invalidMessage, using: transaction); return promise }
// Stop here if this is a self-send, unless it's:
// a configuration message
// a sync message (visible message or expiration timer update message)
// a sync message
// a closed group control message of type `new`
// an unsend request
// a call message of type `answer` or `endCall`
guard !isSelfSend || shouldSyncMessage(message) else {
guard !isSelfSend || isSyncMessage || shouldSyncMessage(message) else {
storage.write(with: { transaction in
MessageSender.handleSuccessfulMessageSend(message, to: destination, isSyncMessage: isSyncMessage, using: transaction)
MessageSender.handleSuccessfulMessageSend(message, to: destination, using: transaction)
seal.fulfill(())
}, completion: { })
return promise
@ -396,6 +396,6 @@ public final class MessageSender : NSObject {
} else {
return false
} } ?? false
return isNewClosedGroupControlMessage || isCallControlMessage || message is ConfigurationMessage || message is UnsendRequest || message is VisibleMessage || message is ExpirationTimerUpdate
return isNewClosedGroupControlMessage || isCallControlMessage || message is ConfigurationMessage || message is UnsendRequest
}
}