Fix note to self

pull/318/head
Niels Andriesse 4 years ago
parent 0f327092d2
commit 3cf87d40ab

@ -57,23 +57,33 @@ public final class MessageSender : NSObject {
if message.sentTimestamp == nil { // Visible messages will already have their sent timestamp set
message.sentTimestamp = NSDate.millisecondTimestamp()
}
message.sender = storage.getUserPublicKey()
let userPublicKey = storage.getUserPublicKey()
message.sender = userPublicKey
switch destination {
case .contact(let publicKey): message.recipient = publicKey
case .closedGroup(let groupPublicKey): message.recipient = groupPublicKey
case .openGroup(_, _): preconditionFailure()
}
let isSelfSend = (message.recipient == userPublicKey)
// Set the failure handler (for precondition failure handling)
let _ = promise.catch(on: DispatchQueue.main) { error in
storage.withAsync({ transaction in
MessageSender.handleFailedMessageSend(message, with: error, using: transaction)
}, completion: { })
if case .contact(_) = destination, message is VisibleMessage {
if case .contact(_) = destination, message is VisibleMessage, !isSelfSend {
NotificationCenter.default.post(name: .messageSendingFailed, object: NSNumber(value: message.sentTimestamp!))
}
}
// Validate the message
guard message.isValid else { seal.reject(Error.invalidMessage); return promise }
// Stop here if this is a self-send
guard !isSelfSend else {
storage.withAsync({ transaction in
MessageSender.handleSuccessfulMessageSend(message, using: transaction)
}, completion: { })
seal.fulfill(())
return promise
}
// Attach the user's profile if needed
if let message = message as? VisibleMessage {
let displayName = storage.getUserDisplayName()!
@ -101,7 +111,7 @@ public final class MessageSender : NSObject {
return promise
}
// Encrypt the serialized protobuf
if case .contact(_) = destination, message is VisibleMessage {
if case .contact(_) = destination, message is VisibleMessage, !isSelfSend {
DispatchQueue.main.async {
NotificationCenter.default.post(name: .encryptingMessage, object: NSNumber(value: message.sentTimestamp!))
}
@ -140,7 +150,7 @@ public final class MessageSender : NSObject {
return promise
}
// Calculate proof of work
if case .contact(_) = destination, message is VisibleMessage {
if case .contact(_) = destination, message is VisibleMessage, !isSelfSend {
DispatchQueue.main.async {
NotificationCenter.default.post(name: .calculatingMessagePoW, object: NSNumber(value: message.sentTimestamp!))
}
@ -153,7 +163,7 @@ public final class MessageSender : NSObject {
return promise
}
// Send the result
if case .contact(_) = destination, message is VisibleMessage {
if case .contact(_) = destination, message is VisibleMessage, !isSelfSend {
DispatchQueue.main.async {
NotificationCenter.default.post(name: .messageSending, object: NSNumber(value: message.sentTimestamp!))
}
@ -184,7 +194,7 @@ public final class MessageSender : NSObject {
storage.withAsync({ transaction in
MessageSender.handleSuccessfulMessageSend(message, using: transaction)
}, completion: { })
if case .contact(_) = destination, message is VisibleMessage {
if case .contact(_) = destination, message is VisibleMessage, !isSelfSend {
NotificationCenter.default.post(name: .messageSent, object: NSNumber(value: message.sentTimestamp!))
}
if message is VisibleMessage {

Loading…
Cancel
Save