diff --git a/Session/Onboarding/LoadAccountScreen.swift b/Session/Onboarding/LoadAccountScreen.swift index 8698548e9..abb6f4872 100644 --- a/Session/Onboarding/LoadAccountScreen.swift +++ b/Session/Onboarding/LoadAccountScreen.swift @@ -86,9 +86,9 @@ struct LoadAccountScreen: View { } catch { if let decodingError = error as? Mnemonic.DecodingError { switch decodingError { - case .inputTooShort, .missingLastWord: + case .inputTooShort: errorString = "recoveryPasswordErrorMessageShort".localized() - case .invalidWord, .verificationFailed: + case .invalidWord: errorString = "recoveryPasswordErrorMessageIncorrect".localized() default: errorString = "recoveryPasswordErrorMessageGeneric".localized() diff --git a/SessionUtilitiesKit/Crypto/Mnemonic.swift b/SessionUtilitiesKit/Crypto/Mnemonic.swift index aaf88d8ef..2b61766c8 100644 --- a/SessionUtilitiesKit/Crypto/Mnemonic.swift +++ b/SessionUtilitiesKit/Crypto/Mnemonic.swift @@ -66,7 +66,7 @@ public enum Mnemonic { } public enum DecodingError : LocalizedError { - case generic, inputTooShort, missingLastWord, invalidWord, verificationFailed + case generic, inputTooShort, invalidWord, verificationFailed } public static func hash(hexEncodedString string: String, language: Language = .english) -> String { @@ -118,7 +118,7 @@ public enum Mnemonic { // Check preconditions guard words.count >= 12 else { throw DecodingError.inputTooShort } - guard words.count == 12 else { throw DecodingError.generic } + guard !words.count.isMultiple(of: 3) else { throw DecodingError.generic } // Get checksum word let checksumWord = words.popLast()!