diff --git a/submodules/TelegramCore/Sources/Authorization.swift b/submodules/TelegramCore/Sources/Authorization.swift index 0545b3dc20..4d1594e8ee 100644 --- a/submodules/TelegramCore/Sources/Authorization.swift +++ b/submodules/TelegramCore/Sources/Authorization.swift @@ -103,6 +103,19 @@ public func sendAuthorizationCode(accountManager: AccountManager map { sentCode in return (.sentCode(sentCode), updatedAccount) } + |> `catch` { error -> Signal<(SendCodeResult, UnauthorizedAccount), MTRpcError> in + if error.errorDescription == "SESSION_PASSWORD_NEEDED" { + return account.network.request(Api.functions.account.getPassword(), automaticFloodWait: false) + |> mapToSignal { result -> Signal<(SendCodeResult, UnauthorizedAccount), MTRpcError> in + switch result { + case let .password(_, _, _, _, hint, _, _, _, _, _): + return .single((.password(hint: hint), account)) + } + } + } else { + return .fail(error) + } + } } case _: return .fail(error) diff --git a/submodules/TelegramUI/Sources/ChatMessageInteractiveFileNode.swift b/submodules/TelegramUI/Sources/ChatMessageInteractiveFileNode.swift index 5ad1b476de..c13b85d8bd 100644 --- a/submodules/TelegramUI/Sources/ChatMessageInteractiveFileNode.swift +++ b/submodules/TelegramUI/Sources/ChatMessageInteractiveFileNode.swift @@ -942,7 +942,7 @@ final class ChatMessageInteractiveFileNode: ASDisplayNode { statusNode.backgroundNodeColor = backgroundNodeColor } - if state != .none && isVoice && self.playbackAudioLevelNode == nil { + if case .pause = state, isVoice, self.playbackAudioLevelNode == nil { let blobFrame = progressFrame.insetBy(dx: -12.0, dy: -12.0) let playbackAudioLevelNode = VoiceBlobNode( maxLevel: 0.3,