diff --git a/submodules/TelegramCore/Sources/State/ChannelBoost.swift b/submodules/TelegramCore/Sources/State/ChannelBoost.swift index a317de7ec7..80eb5652a2 100644 --- a/submodules/TelegramCore/Sources/State/ChannelBoost.swift +++ b/submodules/TelegramCore/Sources/State/ChannelBoost.swift @@ -67,13 +67,13 @@ public enum CanApplyBoostStatus { case error(ErrorReason) } -func _internal_canApplyChannelBoost(account: Account, peerId: PeerId) -> Signal { +func _internal_canApplyChannelBoost(account: Account, peerId: PeerId) -> Signal { return account.postbox.transaction { transaction -> Api.InputPeer? in return transaction.getPeer(peerId).flatMap(apiInputPeer) } - |> mapToSignal { inputPeer -> Signal in + |> mapToSignal { inputPeer -> Signal in guard let inputPeer = inputPeer else { - return .single(nil) + return .single(.error(.generic)) } return account.network.request(Api.functions.stories.canApplyBoost(peer: inputPeer), automaticFloodWait: false) |> map { result -> (Api.stories.CanApplyBoostResult?, CanApplyBoostStatus.ErrorReason?) in @@ -93,12 +93,12 @@ func _internal_canApplyChannelBoost(account: Account, peerId: PeerId) -> Signal< return .single((nil, reason)) } - |> mapToSignal { result, errorReason -> Signal in + |> mapToSignal { result, errorReason -> Signal in guard let result = result else { return .single(.error(errorReason ?? .generic)) } - return account.postbox.transaction { transaction -> CanApplyBoostStatus? in + return account.postbox.transaction { transaction -> CanApplyBoostStatus in switch result { case .canApplyBoostOk: return .ok @@ -108,7 +108,7 @@ func _internal_canApplyChannelBoost(account: Account, peerId: PeerId) -> Signal< if let peer = transaction.getPeer(currentBoost.peerId) { return .replace(currentBoost: EnginePeer(peer)) } else { - return nil + return .error(.generic) } } } diff --git a/submodules/TelegramCore/Sources/TelegramEngine/Peers/TelegramEnginePeers.swift b/submodules/TelegramCore/Sources/TelegramEngine/Peers/TelegramEnginePeers.swift index 99668adc64..0cf19c71a9 100644 --- a/submodules/TelegramCore/Sources/TelegramEngine/Peers/TelegramEnginePeers.swift +++ b/submodules/TelegramCore/Sources/TelegramEngine/Peers/TelegramEnginePeers.swift @@ -1193,7 +1193,7 @@ public extension TelegramEngine { return _internal_getChannelBoostStatus(account: self.account, peerId: peerId) } - public func canApplyChannelBoost(peerId: EnginePeer.Id) -> Signal { + public func canApplyChannelBoost(peerId: EnginePeer.Id) -> Signal { return _internal_canApplyChannelBoost(account: self.account, peerId: peerId) } }