Fail gracefully if the user doesn't have a name set

pull/364/head
nielsandriesse 4 years ago
parent 5247306aa3
commit 81d091c43f

@ -14,6 +14,7 @@ public final class MessageSender : NSObject {
case noUserED25519KeyPair case noUserED25519KeyPair
case signingFailed case signingFailed
case encryptionFailed case encryptionFailed
case noUsername
// Closed groups // Closed groups
case noThread case noThread
case noKeyPair case noKeyPair
@ -35,6 +36,7 @@ public final class MessageSender : NSObject {
case .noUserED25519KeyPair: return "Couldn't find user ED25519 key pair." case .noUserED25519KeyPair: return "Couldn't find user ED25519 key pair."
case .signingFailed: return "Couldn't sign message." case .signingFailed: return "Couldn't sign message."
case .encryptionFailed: return "Couldn't encrypt message." case .encryptionFailed: return "Couldn't encrypt message."
case .noUsername: return "Missing username."
// Closed groups // Closed groups
case .noThread: return "Couldn't find a thread associated with the given group public key." case .noThread: return "Couldn't find a thread associated with the given group public key."
case .noKeyPair: return "Couldn't find a private key associated with the given group public key." case .noKeyPair: return "Couldn't find a private key associated with the given group public key."
@ -146,7 +148,7 @@ public final class MessageSender : NSObject {
} }
// Attach the user's profile if needed // Attach the user's profile if needed
if let message = message as? VisibleMessage { if let message = message as? VisibleMessage {
let name = storage.getUser()!.name! guard let name = storage.getUser()?.name else { handleFailure(with: Error.noUsername, using: transaction); return promise }
if let profileKey = storage.getUser()?.profilePictureEncryptionKey?.keyData, let profilePictureURL = storage.getUser()?.profilePictureURL { if let profileKey = storage.getUser()?.profilePictureEncryptionKey?.keyData, let profilePictureURL = storage.getUser()?.profilePictureURL {
message.profile = VisibleMessage.Profile(displayName: name, profileKey: profileKey, profilePictureURL: profilePictureURL) message.profile = VisibleMessage.Profile(displayName: name, profileKey: profileKey, profilePictureURL: profilePictureURL)
} else { } else {

Loading…
Cancel
Save