diff --git a/submodules/TelegramApi/Sources/Api17.swift b/submodules/TelegramApi/Sources/Api17.swift index 634aa22bb1..74dc5015f9 100644 --- a/submodules/TelegramApi/Sources/Api17.swift +++ b/submodules/TelegramApi/Sources/Api17.swift @@ -41,9 +41,37 @@ public extension Api { } public extension Api { enum MessagePeerVote: TypeConstructorDescription { - case messagePeerVote(peer: Api.Peer, option: Buffer, date: Int32) - case messagePeerVoteInputOption(peer: Api.Peer, date: Int32) - case messagePeerVoteMultiple(peer: Api.Peer, options: [Buffer], date: Int32) + public class Cons_messagePeerVote { + public var peer: Api.Peer + public var option: Buffer + public var date: Int32 + public init(peer: Api.Peer, option: Buffer, date: Int32) { + self.peer = peer + self.option = option + self.date = date + } + } + public class Cons_messagePeerVoteInputOption { + public var peer: Api.Peer + public var date: Int32 + public init(peer: Api.Peer, date: Int32) { + self.peer = peer + self.date = date + } + } + public class Cons_messagePeerVoteMultiple { + public var peer: Api.Peer + public var options: [Buffer] + public var date: Int32 + public init(peer: Api.Peer, options: [Buffer], date: Int32) { + self.peer = peer + self.options = options + self.date = date + } + } + case messagePeerVote(Cons_messagePeerVote) + case messagePeerVoteInputOption(Cons_messagePeerVoteInputOption) + case messagePeerVoteMultiple(Cons_messagePeerVoteMultiple) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { #if DEBUG @@ -86,7 +114,15 @@ public extension Api { } public extension Api { enum MessageRange: TypeConstructorDescription { - case messageRange(minId: Int32, maxId: Int32) + public class Cons_messageRange { + public var minId: Int32 + public var maxId: Int32 + public init(minId: Int32, maxId: Int32) { + self.minId = minId + self.maxId = maxId + } + } + case messageRange(Cons_messageRange) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { #if DEBUG @@ -115,7 +151,19 @@ public extension Api { } public extension Api { enum MessageReactions: TypeConstructorDescription { - case messageReactions(flags: Int32, results: [Api.ReactionCount], recentReactions: [Api.MessagePeerReaction]?, topReactors: [Api.MessageReactor]?) + public class Cons_messageReactions { + public var flags: Int32 + public var results: [Api.ReactionCount] + public var recentReactions: [Api.MessagePeerReaction]? + public var topReactors: [Api.MessageReactor]? + public init(flags: Int32, results: [Api.ReactionCount], recentReactions: [Api.MessagePeerReaction]?, topReactors: [Api.MessageReactor]?) { + self.flags = flags + self.results = results + self.recentReactions = recentReactions + self.topReactors = topReactors + } + } + case messageReactions(Cons_messageReactions) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { #if DEBUG @@ -144,7 +192,17 @@ public extension Api { } public extension Api { enum MessageReactor: TypeConstructorDescription { - case messageReactor(flags: Int32, peerId: Api.Peer?, count: Int32) + public class Cons_messageReactor { + public var flags: Int32 + public var peerId: Api.Peer? + public var count: Int32 + public init(flags: Int32, peerId: Api.Peer?, count: Int32) { + self.flags = flags + self.peerId = peerId + self.count = count + } + } + case messageReactor(Cons_messageReactor) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { #if DEBUG @@ -173,7 +231,25 @@ public extension Api { } public extension Api { enum MessageReplies: TypeConstructorDescription { - case messageReplies(flags: Int32, replies: Int32, repliesPts: Int32, recentRepliers: [Api.Peer]?, channelId: Int64?, maxId: Int32?, readMaxId: Int32?) + public class Cons_messageReplies { + public var flags: Int32 + public var replies: Int32 + public var repliesPts: Int32 + public var recentRepliers: [Api.Peer]? + public var channelId: Int64? + public var maxId: Int32? + public var readMaxId: Int32? + public init(flags: Int32, replies: Int32, repliesPts: Int32, recentRepliers: [Api.Peer]?, channelId: Int64?, maxId: Int32?, readMaxId: Int32?) { + self.flags = flags + self.replies = replies + self.repliesPts = repliesPts + self.recentRepliers = recentRepliers + self.channelId = channelId + self.maxId = maxId + self.readMaxId = readMaxId + } + } + case messageReplies(Cons_messageReplies) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { #if DEBUG @@ -202,8 +278,40 @@ public extension Api { } public extension Api { indirect enum MessageReplyHeader: TypeConstructorDescription { - case messageReplyHeader(flags: Int32, replyToMsgId: Int32?, replyToPeerId: Api.Peer?, replyFrom: Api.MessageFwdHeader?, replyMedia: Api.MessageMedia?, replyToTopId: Int32?, quoteText: String?, quoteEntities: [Api.MessageEntity]?, quoteOffset: Int32?, todoItemId: Int32?) - case messageReplyStoryHeader(peer: Api.Peer, storyId: Int32) + public class Cons_messageReplyHeader { + public var flags: Int32 + public var replyToMsgId: Int32? + public var replyToPeerId: Api.Peer? + public var replyFrom: Api.MessageFwdHeader? + public var replyMedia: Api.MessageMedia? + public var replyToTopId: Int32? + public var quoteText: String? + public var quoteEntities: [Api.MessageEntity]? + public var quoteOffset: Int32? + public var todoItemId: Int32? + public init(flags: Int32, replyToMsgId: Int32?, replyToPeerId: Api.Peer?, replyFrom: Api.MessageFwdHeader?, replyMedia: Api.MessageMedia?, replyToTopId: Int32?, quoteText: String?, quoteEntities: [Api.MessageEntity]?, quoteOffset: Int32?, todoItemId: Int32?) { + self.flags = flags + self.replyToMsgId = replyToMsgId + self.replyToPeerId = replyToPeerId + self.replyFrom = replyFrom + self.replyMedia = replyMedia + self.replyToTopId = replyToTopId + self.quoteText = quoteText + self.quoteEntities = quoteEntities + self.quoteOffset = quoteOffset + self.todoItemId = todoItemId + } + } + public class Cons_messageReplyStoryHeader { + public var peer: Api.Peer + public var storyId: Int32 + public init(peer: Api.Peer, storyId: Int32) { + self.peer = peer + self.storyId = storyId + } + } + case messageReplyHeader(Cons_messageReplyHeader) + case messageReplyStoryHeader(Cons_messageReplyStoryHeader) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { #if DEBUG @@ -239,7 +347,15 @@ public extension Api { } public extension Api { enum MessageReportOption: TypeConstructorDescription { - case messageReportOption(text: String, option: Buffer) + public class Cons_messageReportOption { + public var text: String + public var option: Buffer + public init(text: String, option: Buffer) { + self.text = text + self.option = option + } + } + case messageReportOption(Cons_messageReportOption) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { #if DEBUG @@ -268,7 +384,19 @@ public extension Api { } public extension Api { enum MessageViews: TypeConstructorDescription { - case messageViews(flags: Int32, views: Int32?, forwards: Int32?, replies: Api.MessageReplies?) + public class Cons_messageViews { + public var flags: Int32 + public var views: Int32? + public var forwards: Int32? + public var replies: Api.MessageReplies? + public init(flags: Int32, views: Int32?, forwards: Int32?, replies: Api.MessageReplies?) { + self.flags = flags + self.views = views + self.forwards = forwards + self.replies = replies + } + } + case messageViews(Cons_messageViews) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { #if DEBUG @@ -297,6 +425,12 @@ public extension Api { } public extension Api { enum MessagesFilter: TypeConstructorDescription { + public class Cons_inputMessagesFilterPhoneCalls { + public var flags: Int32 + public init(flags: Int32) { + self.flags = flags + } + } case inputMessagesFilterChatPhotos case inputMessagesFilterContacts case inputMessagesFilterDocument @@ -305,7 +439,7 @@ public extension Api { case inputMessagesFilterGif case inputMessagesFilterMusic case inputMessagesFilterMyMentions - case inputMessagesFilterPhoneCalls(flags: Int32) + case inputMessagesFilterPhoneCalls(Cons_inputMessagesFilterPhoneCalls) case inputMessagesFilterPhotoVideo case inputMessagesFilterPhotos case inputMessagesFilterPinned @@ -454,7 +588,15 @@ public extension Api { } public extension Api { enum MissingInvitee: TypeConstructorDescription { - case missingInvitee(flags: Int32, userId: Int64) + public class Cons_missingInvitee { + public var flags: Int32 + public var userId: Int64 + public init(flags: Int32, userId: Int64) { + self.flags = flags + self.userId = userId + } + } + case missingInvitee(Cons_missingInvitee) public func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) { #if DEBUG diff --git a/submodules/TelegramCore/Sources/ApiUtils/ReactionsMessageAttribute.swift b/submodules/TelegramCore/Sources/ApiUtils/ReactionsMessageAttribute.swift index 9d7887225c..3b7a70ed49 100644 --- a/submodules/TelegramCore/Sources/ApiUtils/ReactionsMessageAttribute.swift +++ b/submodules/TelegramCore/Sources/ApiUtils/ReactionsMessageAttribute.swift @@ -5,7 +5,8 @@ import TelegramApi extension ReactionsMessageAttribute { func withUpdatedResults(_ reactions: Api.MessageReactions) -> ReactionsMessageAttribute { switch reactions { - case let .messageReactions(flags, results, recentReactions, topReactors): + case let .messageReactions(messageReactionsData): + let (flags, results, recentReactions, topReactors) = (messageReactionsData.flags, messageReactionsData.results, messageReactionsData.recentReactions, messageReactionsData.topReactors) let min = (flags & (1 << 0)) != 0 let canViewList = (flags & (1 << 2)) != 0 let isTags = (flags & (1 << 3)) != 0 @@ -60,7 +61,8 @@ extension ReactionsMessageAttribute { if let topReactors { for item in topReactors { switch item { - case let .messageReactor(flags, peerId, count): + case let .messageReactor(messageReactorData): + let (flags, peerId, count) = (messageReactorData.flags, messageReactorData.peerId, messageReactorData.count) topPeers.append(ReactionsMessageAttribute.TopPeer( peerId: peerId?.peerId, count: count, @@ -71,7 +73,7 @@ extension ReactionsMessageAttribute { } } } - + return ReactionsMessageAttribute(canViewList: canViewList, isTags: isTags, reactions: reactions, recentPeers: parsedRecentReactions, topPeers: topPeers) } } @@ -259,7 +261,8 @@ public func mergedMessageReactions(attributes: [MessageAttribute], isTags: Bool) extension ReactionsMessageAttribute { convenience init(apiReactions: Api.MessageReactions) { switch apiReactions { - case let .messageReactions(flags, results, recentReactions, topReactors): + case let .messageReactions(messageReactionsData): + let (flags, results, recentReactions, topReactors) = (messageReactionsData.flags, messageReactionsData.results, messageReactionsData.recentReactions, messageReactionsData.topReactors) let canViewList = (flags & (1 << 2)) != 0 let isTags = (flags & (1 << 3)) != 0 let parsedRecentReactions: [ReactionsMessageAttribute.RecentPeer] @@ -286,7 +289,8 @@ extension ReactionsMessageAttribute { if let topReactors { for item in topReactors { switch item { - case let .messageReactor(flags, peerId, count): + case let .messageReactor(messageReactorData): + let (flags, peerId, count) = (messageReactorData.flags, messageReactorData.peerId, messageReactorData.count) topPeers.append(ReactionsMessageAttribute.TopPeer( peerId: peerId?.peerId, count: count, diff --git a/submodules/TelegramCore/Sources/ApiUtils/StoreMessage_Telegram.swift b/submodules/TelegramCore/Sources/ApiUtils/StoreMessage_Telegram.swift index 6965179687..be8115c3a1 100644 --- a/submodules/TelegramCore/Sources/ApiUtils/StoreMessage_Telegram.swift +++ b/submodules/TelegramCore/Sources/ApiUtils/StoreMessage_Telegram.swift @@ -211,7 +211,8 @@ func apiMessagePeerIds(_ message: Api.Message) -> [PeerId] { if let replyTo = replyTo { switch replyTo { - case let .messageReplyStoryHeader(peer, _): + case let .messageReplyStoryHeader(messageReplyStoryHeaderData): + let peer = messageReplyStoryHeaderData.peer let storyPeerId = peer.peerId if !result.contains(storyPeerId) { result.append(storyPeerId) @@ -307,7 +308,8 @@ func apiMessageAssociatedMessageIds(_ message: Api.Message) -> (replyIds: Refere let peerId: PeerId = chatPeerId.peerId switch replyTo { - case let .messageReplyHeader(_, replyToMsgId, replyToPeerId, replyHeader, replyMedia, replyToTopId, quoteText, quoteEntities, quoteOffset, todoItemId): + case let .messageReplyHeader(messageReplyHeaderData): + let (replyToMsgId, replyToPeerId, replyHeader, replyMedia, replyToTopId, quoteText, quoteEntities, quoteOffset, todoItemId) = (messageReplyHeaderData.replyToMsgId, messageReplyHeaderData.replyToPeerId, messageReplyHeaderData.replyFrom, messageReplyHeaderData.replyMedia, messageReplyHeaderData.replyToTopId, messageReplyHeaderData.quoteText, messageReplyHeaderData.quoteEntities, messageReplyHeaderData.quoteOffset, messageReplyHeaderData.todoItemId) let _ = replyHeader let _ = replyMedia let _ = replyToTopId @@ -332,7 +334,8 @@ func apiMessageAssociatedMessageIds(_ message: Api.Message) -> (replyIds: Refere let (id, chatPeerId, replyHeader) = (messageServiceData.id, messageServiceData.peerId, messageServiceData.replyTo) if let replyHeader = replyHeader { switch replyHeader { - case let .messageReplyHeader(_, replyToMsgId, replyToPeerId, replyHeader, replyMedia, replyToTopId, quoteText, quoteEntities, quoteOffset, todoItemId): + case let .messageReplyHeader(messageReplyHeaderData): + let (replyToMsgId, replyToPeerId, replyHeader, replyMedia, replyToTopId, quoteText, quoteEntities, quoteOffset, todoItemId) = (messageReplyHeaderData.replyToMsgId, messageReplyHeaderData.replyToPeerId, messageReplyHeaderData.replyFrom, messageReplyHeaderData.replyMedia, messageReplyHeaderData.replyToTopId, messageReplyHeaderData.quoteText, messageReplyHeaderData.quoteEntities, messageReplyHeaderData.quoteOffset, messageReplyHeaderData.todoItemId) let _ = replyHeader let _ = replyMedia let _ = replyToTopId @@ -816,7 +819,8 @@ extension StoreMessage { if let replyTo = replyTo { var threadMessageId: MessageId? switch replyTo { - case let .messageReplyHeader(innerFlags, replyToMsgId, replyToPeerId, replyHeader, replyMedia, replyToTopId, quoteText, quoteEntities, quoteOffset, todoItemId): + case let .messageReplyHeader(messageReplyHeaderData): + let (innerFlags, replyToMsgId, replyToPeerId, replyHeader, replyMedia, replyToTopId, quoteText, quoteEntities, quoteOffset, todoItemId) = (messageReplyHeaderData.flags, messageReplyHeaderData.replyToMsgId, messageReplyHeaderData.replyToPeerId, messageReplyHeaderData.replyFrom, messageReplyHeaderData.replyMedia, messageReplyHeaderData.replyToTopId, messageReplyHeaderData.quoteText, messageReplyHeaderData.quoteEntities, messageReplyHeaderData.quoteOffset, messageReplyHeaderData.todoItemId) let isForumTopic = (innerFlags & (1 << 3)) != 0 var quote: EngineMessageReplyQuote? @@ -872,15 +876,16 @@ extension StoreMessage { if let replyHeader = replyHeader { attributes.append(QuotedReplyMessageAttribute(apiHeader: replyHeader, quote: quote, isQuote: isQuote)) } - case let .messageReplyStoryHeader(peer, storyId): + case let .messageReplyStoryHeader(messageReplyStoryHeaderData): + let (peer, storyId) = (messageReplyStoryHeaderData.peer, messageReplyStoryHeaderData.storyId) attributes.append(ReplyStoryAttribute(storyId: StoryId(peerId: peer.peerId, id: storyId))) } } - + if threadId == nil && peerId.namespace == Namespaces.Peer.CloudChannel { threadId = 1 } - + var forwardInfo: StoreMessageForwardInfo? if let fwdFrom = fwdFrom { switch fwdFrom { @@ -1085,7 +1090,8 @@ extension StoreMessage { if let replies = replies { let recentRepliersPeerIds: [PeerId]? switch replies { - case let .messageReplies(_, repliesCount, _, recentRepliers, channelId, maxId, readMaxId): + case let .messageReplies(messageRepliesData): + let (repliesCount, recentRepliers, channelId, maxId, readMaxId) = (messageRepliesData.replies, messageRepliesData.recentRepliers, messageRepliesData.channelId, messageRepliesData.maxId, messageRepliesData.readMaxId) if let recentRepliers = recentRepliers { recentRepliersPeerIds = recentRepliers.map { $0.peerId } } else { @@ -1196,27 +1202,30 @@ extension StoreMessage { if chatPeerId.peerId.namespace == Namespaces.Peer.CloudChannel, let replyTo { switch replyTo { - case let .messageReplyHeader(innerFlags, replyToMsgId, replyToPeerId, replyHeader, replyMedia, _, quoteText, quoteEntities, quoteOffset, todoItemId): + case let .messageReplyHeader(messageReplyHeaderData): + let (innerFlags, replyToMsgId, replyToPeerId, replyHeader, replyMedia, quoteText, quoteEntities, quoteOffset, todoItemId) = (messageReplyHeaderData.flags, messageReplyHeaderData.replyToMsgId, messageReplyHeaderData.replyToPeerId, messageReplyHeaderData.replyFrom, messageReplyHeaderData.replyMedia, messageReplyHeaderData.quoteText, messageReplyHeaderData.quoteEntities, messageReplyHeaderData.quoteOffset, messageReplyHeaderData.todoItemId) var quote: EngineMessageReplyQuote? let isQuote = (innerFlags & (1 << 9)) != 0 if quoteText != nil || replyMedia != nil { quote = EngineMessageReplyQuote(text: quoteText ?? "", offset: quoteOffset.flatMap(Int.init), entities: messageTextEntitiesFromApiEntities(quoteEntities ?? []), media: textMediaAndExpirationTimerFromApiMedia(replyMedia, peerId).media) } - + if let replyToMsgId = replyToMsgId { let replyPeerId = replyToPeerId?.peerId ?? peerId attributes.append(ReplyMessageAttribute(messageId: MessageId(peerId: replyPeerId, namespace: Namespaces.Message.Cloud, id: replyToMsgId), threadMessageId: nil, quote: quote, isQuote: isQuote, todoItemId: todoItemId)) } else if let replyHeader = replyHeader { attributes.append(QuotedReplyMessageAttribute(apiHeader: replyHeader, quote: quote, isQuote: isQuote)) } - case let .messageReplyStoryHeader(peer, storyId): + case let .messageReplyStoryHeader(messageReplyStoryHeaderData): + let (peer, storyId) = (messageReplyStoryHeaderData.peer, messageReplyStoryHeaderData.storyId) attributes.append(ReplyStoryAttribute(storyId: StoryId(peerId: peer.peerId, id: storyId))) } } } else if let replyTo = replyTo { var threadMessageId: MessageId? switch replyTo { - case let .messageReplyHeader(innerFlags, replyToMsgId, replyToPeerId, replyHeader, replyMedia, replyToTopId, quoteText, quoteEntities, quoteOffset, todoItemId): + case let .messageReplyHeader(messageReplyHeaderData): + let (innerFlags, replyToMsgId, replyToPeerId, replyHeader, replyMedia, replyToTopId, quoteText, quoteEntities, quoteOffset, todoItemId) = (messageReplyHeaderData.flags, messageReplyHeaderData.replyToMsgId, messageReplyHeaderData.replyToPeerId, messageReplyHeaderData.replyFrom, messageReplyHeaderData.replyMedia, messageReplyHeaderData.replyToTopId, messageReplyHeaderData.quoteText, messageReplyHeaderData.quoteEntities, messageReplyHeaderData.quoteOffset, messageReplyHeaderData.todoItemId) var quote: EngineMessageReplyQuote? let isQuote = (innerFlags & (1 << 9)) != 0 if quoteText != nil || replyMedia != nil { @@ -1246,7 +1255,8 @@ extension StoreMessage { } else if let replyHeader = replyHeader { attributes.append(QuotedReplyMessageAttribute(apiHeader: replyHeader, quote: quote, isQuote: isQuote)) } - case let .messageReplyStoryHeader(peer, storyId): + case let .messageReplyStoryHeader(messageReplyStoryHeaderData): + let (peer, storyId) = (messageReplyStoryHeaderData.peer, messageReplyStoryHeaderData.storyId) attributes.append(ReplyStoryAttribute(storyId: StoryId(peerId: peer.peerId, id: storyId))) } } else { diff --git a/submodules/TelegramCore/Sources/State/AccountViewTracker.swift b/submodules/TelegramCore/Sources/State/AccountViewTracker.swift index 6454664cf7..eabb5d99b2 100644 --- a/submodules/TelegramCore/Sources/State/AccountViewTracker.swift +++ b/submodules/TelegramCore/Sources/State/AccountViewTracker.swift @@ -733,7 +733,8 @@ public final class AccountViewTracker { for i in 0 ..< messageIds.count { if i < viewCounts.count { - if case let .messageViews(_, views, forwards, replies) = viewCounts[i] { + if case let .messageViews(messageViewsData) = viewCounts[i] { + let (views, forwards, replies) = (messageViewsData.views, messageViewsData.forwards, messageViewsData.replies) transaction.updateMessage(messageIds[i], update: { currentMessage in let storeForwardInfo = currentMessage.forwardInfo.flatMap(StoreMessageForwardInfo.init) var attributes = currentMessage.attributes @@ -745,7 +746,8 @@ public final class AccountViewTracker { var repliesReadMaxId: Int32? if let replies = replies { switch replies { - case let .messageReplies(_, repliesCountValue, _, recentRepliers, channelId, maxId, readMaxId): + case let .messageReplies(messageRepliesData): + let (repliesCountValue, recentRepliers, channelId, maxId, readMaxId) = (messageRepliesData.replies, messageRepliesData.recentRepliers, messageRepliesData.channelId, messageRepliesData.maxId, messageRepliesData.readMaxId) if let channelId = channelId { commentsChannelId = PeerId(namespace: Namespaces.Peer.CloudChannel, id: PeerId.Id._internalFromInt64Value(channelId)) } diff --git a/submodules/TelegramCore/Sources/State/Holes.swift b/submodules/TelegramCore/Sources/State/Holes.swift index 6fddf5201b..b07a91c878 100644 --- a/submodules/TelegramCore/Sources/State/Holes.swift +++ b/submodules/TelegramCore/Sources/State/Holes.swift @@ -1210,7 +1210,7 @@ func fetchCallListHole(network: Network, postbox: Postbox, accountPeerId: PeerId offset = single((holeIndex.timestamp, min(holeIndex.id.id, Int32.max - 1) + 1, Api.InputPeer.inputPeerEmpty), NoError.self) return offset |> mapToSignal { (timestamp, id, peer) -> Signal in - let searchResult = network.request(Api.functions.messages.search(flags: 0, peer: .inputPeerEmpty, q: "", fromId: nil, savedPeerId: nil, savedReaction: nil, topMsgId: nil, filter: .inputMessagesFilterPhoneCalls(flags: 0), minDate: 0, maxDate: holeIndex.timestamp, offsetId: 0, addOffset: 0, limit: limit, maxId: holeIndex.id.id, minId: 0, hash: 0)) + let searchResult = network.request(Api.functions.messages.search(flags: 0, peer: .inputPeerEmpty, q: "", fromId: nil, savedPeerId: nil, savedReaction: nil, topMsgId: nil, filter: .inputMessagesFilterPhoneCalls(.init(flags: 0)), minDate: 0, maxDate: holeIndex.timestamp, offsetId: 0, addOffset: 0, limit: limit, maxId: holeIndex.id.id, minId: 0, hash: 0)) |> retryRequest |> mapToSignal { result -> Signal in let messages: [Api.Message] diff --git a/submodules/TelegramCore/Sources/TelegramEngine/Messages/Polls.swift b/submodules/TelegramCore/Sources/TelegramEngine/Messages/Polls.swift index 78a78f5bd0..f43f799ebe 100644 --- a/submodules/TelegramCore/Sources/TelegramEngine/Messages/Polls.swift +++ b/submodules/TelegramCore/Sources/TelegramEngine/Messages/Polls.swift @@ -287,11 +287,14 @@ private final class PollResultsOptionContext { for vote in votes { let peerId: PeerId switch vote { - case let .messagePeerVote(peerIdValue, _, _): + case let .messagePeerVote(messagePeerVoteData): + let peerIdValue = messagePeerVoteData.peer peerId = peerIdValue.peerId - case let .messagePeerVoteInputOption(peerIdValue, _): + case let .messagePeerVoteInputOption(messagePeerVoteInputOptionData): + let peerIdValue = messagePeerVoteInputOptionData.peer peerId = peerIdValue.peerId - case let .messagePeerVoteMultiple(peerIdValue, _, _): + case let .messagePeerVoteMultiple(messagePeerVoteMultipleData): + let peerIdValue = messagePeerVoteMultipleData.peer peerId = peerIdValue.peerId } if let peer = transaction.getPeer(peerId) { diff --git a/submodules/TelegramCore/Sources/TelegramEngine/Messages/ReportContent.swift b/submodules/TelegramCore/Sources/TelegramEngine/Messages/ReportContent.swift index 6d857d0551..299ffe9ee0 100644 --- a/submodules/TelegramCore/Sources/TelegramEngine/Messages/ReportContent.swift +++ b/submodules/TelegramCore/Sources/TelegramEngine/Messages/ReportContent.swift @@ -66,7 +66,8 @@ func _internal_reportContent(account: Account, subject: ReportContentSubject, op case let .reportResultChooseOption(title, options): return .options(title: title, options: options.map { switch $0 { - case let .messageReportOption(text, option): + case let .messageReportOption(messageReportOptionData): + let (text, option) = (messageReportOptionData.text, messageReportOptionData.option) return ReportContentResult.Option(text: text, option: option.makeData()) } }) diff --git a/submodules/TelegramCore/Sources/TelegramEngine/Peers/AddPeerMember.swift b/submodules/TelegramCore/Sources/TelegramEngine/Peers/AddPeerMember.swift index d303743a59..7c41ba6593 100644 --- a/submodules/TelegramCore/Sources/TelegramEngine/Peers/AddPeerMember.swift +++ b/submodules/TelegramCore/Sources/TelegramEngine/Peers/AddPeerMember.swift @@ -102,7 +102,8 @@ func _internal_addGroupMember(account: Account, peerId: PeerId, memberId: PeerId let result = TelegramInvitePeersResult(forbiddenPeers: missingInviteesValue.compactMap { invitee -> TelegramForbiddenInvitePeer? in switch invitee { - case let .missingInvitee(flags, userId): + case let .missingInvitee(missingInviteeData): + let (flags, userId) = (missingInviteeData.flags, missingInviteeData.userId) guard let peer = transaction.getPeer(PeerId(namespace: Namespaces.Peer.CloudUser, id: PeerId.Id._internalFromInt64Value(userId))) else { return nil } @@ -189,7 +190,8 @@ func _internal_addChannelMember(account: Account, peerId: PeerId, memberId: Peer let updatesValue: Api.Updates switch result { case let .invitedUsers(updates, missingInvitees): - if case let .missingInvitee(flags, _) = missingInvitees.first { + if case let .missingInvitee(missingInviteeData) = missingInvitees.first { + let flags = missingInviteeData.flags let _ = _internal_updateIsPremiumRequiredToContact(account: account, peerIds: [memberPeer.id]).startStandalone() return .fail(.restricted(TelegramForbiddenInvitePeer( @@ -310,7 +312,8 @@ func _internal_addChannelMembers(account: Account, peerId: PeerId, memberIds: [P return account.postbox.transaction { transaction -> TelegramInvitePeersResult in let result = TelegramInvitePeersResult(forbiddenPeers: missingInviteesValue.compactMap { invitee -> TelegramForbiddenInvitePeer? in switch invitee { - case let .missingInvitee(flags, userId): + case let .missingInvitee(missingInviteeData): + let (flags, userId) = (missingInviteeData.flags, missingInviteeData.userId) guard let peer = transaction.getPeer(PeerId(namespace: Namespaces.Peer.CloudUser, id: PeerId.Id._internalFromInt64Value(userId))) else { return nil } diff --git a/submodules/TelegramCore/Sources/TelegramEngine/Peers/CreateGroup.swift b/submodules/TelegramCore/Sources/TelegramEngine/Peers/CreateGroup.swift index 44a28f39dc..4c1acf840f 100644 --- a/submodules/TelegramCore/Sources/TelegramEngine/Peers/CreateGroup.swift +++ b/submodules/TelegramCore/Sources/TelegramEngine/Peers/CreateGroup.swift @@ -77,7 +77,8 @@ func _internal_createGroup(account: Account, title: String, peerIds: [PeerId], t peerId: peerId, result: TelegramInvitePeersResult(forbiddenPeers: missingInviteesValue.compactMap { invitee -> TelegramForbiddenInvitePeer? in switch invitee { - case let .missingInvitee(flags, userId): + case let .missingInvitee(missingInviteeData): + let (flags, userId) = (missingInviteeData.flags, missingInviteeData.userId) guard let peer = transaction.getPeer(PeerId(namespace: Namespaces.Peer.CloudUser, id: PeerId.Id._internalFromInt64Value(userId))) else { return nil }