mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-04 05:26:48 +00:00
Provide a temporary legacy messagesSlice constructor
This commit is contained in:
parent
4cc7101f24
commit
2df4d568b0
@ -1369,6 +1369,8 @@ private func resolveAssociatedMessages(network: Network, state: AccountMutableSt
|
||||
return (messages, chats, users)
|
||||
case let .messagesSlice(_, _, _, messages, chats, users):
|
||||
return (messages, chats, users)
|
||||
case let .messagesSliceLegacy(_, _, messages, chats, users):
|
||||
return (messages, chats, users)
|
||||
case let .channelMessages(_, _, _, messages, chats, users):
|
||||
return (messages, chats, users)
|
||||
case .messagesNotModified:
|
||||
|
||||
@ -92,6 +92,10 @@ private func fetchWebpage(account: Account, messageId: MessageId) -> Signal<Void
|
||||
messages = apiMessages
|
||||
chats = apiChats
|
||||
users = apiUsers
|
||||
case let .messagesSliceLegacy(_, _, messages: apiMessages, chats: apiChats, users: apiUsers):
|
||||
messages = apiMessages
|
||||
chats = apiChats
|
||||
users = apiUsers
|
||||
case let .channelMessages(_, _, _, apiMessages, apiChats, apiUsers):
|
||||
messages = apiMessages
|
||||
chats = apiChats
|
||||
@ -612,6 +616,8 @@ public final class AccountViewTracker {
|
||||
return (messages, chats, users)
|
||||
case let .messagesSlice(_, _, _, messages, chats, users):
|
||||
return (messages, chats, users)
|
||||
case let .messagesSliceLegacy(_, _, messages, chats, users):
|
||||
return (messages, chats, users)
|
||||
case let .channelMessages(_, _, _, messages, chats, users):
|
||||
return (messages, chats, users)
|
||||
case .messagesNotModified:
|
||||
|
||||
@ -476,6 +476,7 @@ fileprivate let parsers: [Int32 : (BufferReader) -> Any?] = {
|
||||
dict[1951620897] = { return Api.messages.Messages.parse_messagesNotModified($0) }
|
||||
dict[-1725551049] = { return Api.messages.Messages.parse_channelMessages($0) }
|
||||
dict[-923939298] = { return Api.messages.Messages.parse_messagesSlice($0) }
|
||||
dict[-1497072982] = { return Api.messages.Messages.parse_messagesSliceLegacy($0) }
|
||||
dict[-1022713000] = { return Api.Invoice.parse_invoice($0) }
|
||||
dict[-2122045747] = { return Api.PeerSettings.parse_peerSettings($0) }
|
||||
dict[955951967] = { return Api.auth.SentCode.parse_sentCode($0) }
|
||||
@ -2227,6 +2228,7 @@ struct messages {
|
||||
case messagesNotModified(count: Int32)
|
||||
case channelMessages(flags: Int32, pts: Int32, count: Int32, messages: [Api.Message], chats: [Api.Chat], users: [Api.User])
|
||||
case messagesSlice(flags: Int32, count: Int32, nextRate: Int32?, messages: [Api.Message], chats: [Api.Chat], users: [Api.User])
|
||||
case messagesSliceLegacy(flags: Int32, count: Int32, messages: [Api.Message], chats: [Api.Chat], users: [Api.User])
|
||||
|
||||
func serialize(_ buffer: Buffer, _ boxed: Swift.Bool) {
|
||||
switch self {
|
||||
@ -2302,6 +2304,28 @@ struct messages {
|
||||
item.serialize(buffer, true)
|
||||
}
|
||||
break
|
||||
case .messagesSliceLegacy(let flags, let count, let messages, let chats, let users):
|
||||
if boxed {
|
||||
buffer.appendInt32(-1497072982)
|
||||
}
|
||||
serializeInt32(flags, buffer: buffer, boxed: false)
|
||||
serializeInt32(count, buffer: buffer, boxed: false)
|
||||
buffer.appendInt32(481674261)
|
||||
buffer.appendInt32(Int32(messages.count))
|
||||
for item in messages {
|
||||
item.serialize(buffer, true)
|
||||
}
|
||||
buffer.appendInt32(481674261)
|
||||
buffer.appendInt32(Int32(chats.count))
|
||||
for item in chats {
|
||||
item.serialize(buffer, true)
|
||||
}
|
||||
buffer.appendInt32(481674261)
|
||||
buffer.appendInt32(Int32(users.count))
|
||||
for item in users {
|
||||
item.serialize(buffer, true)
|
||||
}
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
@ -2315,6 +2339,8 @@ struct messages {
|
||||
return ("channelMessages", [("flags", flags), ("pts", pts), ("count", count), ("messages", messages), ("chats", chats), ("users", users)])
|
||||
case .messagesSlice(let flags, let count, let nextRate, let messages, let chats, let users):
|
||||
return ("messagesSlice", [("flags", flags), ("count", count), ("nextRate", nextRate), ("messages", messages), ("chats", chats), ("users", users)])
|
||||
case .messagesSliceLegacy(let flags, let count, let messages, let chats, let users):
|
||||
return ("messagesSliceLegacy", [("flags", flags), ("count", count), ("messages", messages), ("chats", chats), ("users", users)])
|
||||
}
|
||||
}
|
||||
|
||||
@ -2416,6 +2442,35 @@ struct messages {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
static func parse_messagesSliceLegacy(_ reader: BufferReader) -> Messages? {
|
||||
var _1: Int32?
|
||||
_1 = reader.readInt32()
|
||||
var _2: Int32?
|
||||
_2 = reader.readInt32()
|
||||
var _3: [Api.Message]?
|
||||
if let _ = reader.readInt32() {
|
||||
_3 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Message.self)
|
||||
}
|
||||
var _4: [Api.Chat]?
|
||||
if let _ = reader.readInt32() {
|
||||
_4 = Api.parseVector(reader, elementSignature: 0, elementType: Api.Chat.self)
|
||||
}
|
||||
var _5: [Api.User]?
|
||||
if let _ = reader.readInt32() {
|
||||
_5 = Api.parseVector(reader, elementSignature: 0, elementType: Api.User.self)
|
||||
}
|
||||
let _c1 = _1 != nil
|
||||
let _c2 = _2 != nil
|
||||
let _c3 = _3 != nil
|
||||
let _c4 = _4 != nil
|
||||
let _c5 = _5 != nil
|
||||
if _c1 && _c2 && _c3 && _c4 && _c5 {
|
||||
return Api.messages.Messages.messagesSliceLegacy(flags: _1!, count: _2!, messages: _3!, chats: _4!, users: _5!)
|
||||
}
|
||||
else {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
enum PeerDialogs: TypeConstructorDescription {
|
||||
|
||||
@ -346,6 +346,10 @@ private func validateBatch(postbox: Postbox, network: Network, accountPeerId: Pe
|
||||
messages = apiMessages
|
||||
chats = apiChats
|
||||
users = apiUsers
|
||||
case let .messagesSliceLegacy(_, _, messages: apiMessages, chats: apiChats, users: apiUsers):
|
||||
messages = apiMessages
|
||||
chats = apiChats
|
||||
users = apiUsers
|
||||
case let .channelMessages(_, pts, _, apiMessages, apiChats, apiUsers):
|
||||
messages = apiMessages
|
||||
chats = apiChats
|
||||
@ -418,6 +422,8 @@ private func validateBatch(postbox: Postbox, network: Network, accountPeerId: Pe
|
||||
apiMessages = messages
|
||||
case let .messagesSlice(_, _, _, messages, _, _):
|
||||
apiMessages = messages
|
||||
case let .messagesSliceLegacy(_, _, messages, _, _):
|
||||
apiMessages = messages
|
||||
case .messagesNotModified:
|
||||
return Set()
|
||||
}
|
||||
|
||||
@ -78,6 +78,8 @@ func withResolvedAssociatedMessages(postbox: Postbox, source: FetchMessageHistor
|
||||
return (messages, chats, users)
|
||||
case let .messagesSlice(_, _, _, messages, chats, users):
|
||||
return (messages, chats, users)
|
||||
case let .messagesSliceLegacy(_, _, messages, chats, users):
|
||||
return (messages, chats, users)
|
||||
case let .channelMessages(_, _, _, messages, chats, users):
|
||||
return (messages, chats, users)
|
||||
case .messagesNotModified:
|
||||
@ -257,6 +259,10 @@ func fetchMessageHistoryHole(accountPeerId: PeerId, source: FetchMessageHistoryH
|
||||
messages = apiMessages
|
||||
chats = apiChats
|
||||
users = apiUsers
|
||||
case let .messagesSliceLegacy(_, _, messages: apiMessages, chats: apiChats, users: apiUsers):
|
||||
messages = apiMessages
|
||||
chats = apiChats
|
||||
users = apiUsers
|
||||
case let .channelMessages(_, pts, _, apiMessages, apiChats, apiUsers):
|
||||
messages = apiMessages
|
||||
chats = apiChats
|
||||
@ -445,6 +451,10 @@ func fetchCallListHole(network: Network, postbox: Postbox, accountPeerId: PeerId
|
||||
messages = apiMessages
|
||||
chats = apiChats
|
||||
users = apiUsers
|
||||
case let .messagesSliceLegacy(_, _, messages: apiMessages, chats: apiChats, users: apiUsers):
|
||||
messages = apiMessages
|
||||
chats = apiChats
|
||||
users = apiUsers
|
||||
case let .channelMessages(_, _, _, apiMessages, apiChats, apiUsers):
|
||||
messages = apiMessages
|
||||
chats = apiChats
|
||||
|
||||
@ -63,6 +63,8 @@ public func getMessagesLoadIfNecessary(_ messageIds: [MessageId], postbox: Postb
|
||||
return (messages, chats, users)
|
||||
case let .messagesSlice(_, _, _, messages, chats, users):
|
||||
return (messages, chats, users)
|
||||
case let .messagesSliceLegacy(_, _, messages, chats, users):
|
||||
return (messages, chats, users)
|
||||
case let .channelMessages(_, _, _, messages, chats, users):
|
||||
return (messages, chats, users)
|
||||
case .messagesNotModified:
|
||||
|
||||
@ -41,6 +41,8 @@ public func loadedPeerFromMessage(account: Account, peerId: PeerId, messageId: M
|
||||
apiUsers = users
|
||||
case let .messagesSlice(_, _, _, _, _, users):
|
||||
apiUsers = users
|
||||
case let .messagesSliceLegacy(_, _, _, _, users):
|
||||
apiUsers = users
|
||||
case let .channelMessages(_, _, _, _, _, users):
|
||||
apiUsers = users
|
||||
case .messagesNotModified:
|
||||
|
||||
@ -138,6 +138,8 @@ private func synchronizeMarkAllUnseen(transaction: Transaction, postbox: Postbox
|
||||
return .single([])
|
||||
case let .messagesSlice(messagesSlice):
|
||||
return .single(messagesSlice.messages.compactMap({ $0.id }))
|
||||
case let .messagesSliceLegacy(messagesSlice):
|
||||
return .single(messagesSlice.messages.compactMap({ $0.id }))
|
||||
}
|
||||
}
|
||||
|> mapToSignal { ids -> Signal<Int32?, MTRpcError> in
|
||||
|
||||
@ -83,7 +83,11 @@ public func requestPeerPhotos(account:Account, peerId: PeerId) -> Signal<[Telegr
|
||||
messages = apiMessages
|
||||
chats = apiChats
|
||||
users = apiUsers
|
||||
case let.messagesSlice(_, _, _, apiMessages, apiChats, apiUsers):
|
||||
case let .messagesSlice(_, _, _, apiMessages, apiChats, apiUsers):
|
||||
messages = apiMessages
|
||||
chats = apiChats
|
||||
users = apiUsers
|
||||
case let .messagesSliceLegacy(_, _, apiMessages, apiChats, apiUsers):
|
||||
messages = apiMessages
|
||||
chats = apiChats
|
||||
users = apiUsers
|
||||
|
||||
@ -84,6 +84,12 @@ private func mergedState(transaction: Transaction, state: SearchMessagesPeerStat
|
||||
users = apiUsers
|
||||
totalCount = count
|
||||
nextRate = apiNextRate
|
||||
case let .messagesSliceLegacy(_, count, apiMessages, apiChats, apiUsers):
|
||||
messages = apiMessages
|
||||
chats = apiChats
|
||||
users = apiUsers
|
||||
totalCount = count
|
||||
nextRate = nil
|
||||
case .messagesNotModified:
|
||||
messages = []
|
||||
chats = []
|
||||
@ -359,7 +365,11 @@ public func downloadMessage(postbox: Postbox, network: Network, messageId: Messa
|
||||
messages = apiMessages
|
||||
chats = apiChats
|
||||
users = apiUsers
|
||||
case let.messagesSlice(_, _, _, apiMessages, apiChats, apiUsers):
|
||||
case let .messagesSlice(_, _, _, apiMessages, apiChats, apiUsers):
|
||||
messages = apiMessages
|
||||
chats = apiChats
|
||||
users = apiUsers
|
||||
case let .messagesSliceLegacy(_, _, apiMessages, apiChats, apiUsers):
|
||||
messages = apiMessages
|
||||
chats = apiChats
|
||||
users = apiUsers
|
||||
@ -446,6 +456,10 @@ func fetchRemoteMessage(postbox: Postbox, source: FetchMessageHistoryHoleSource,
|
||||
messages = apiMessages
|
||||
chats = apiChats
|
||||
users = apiUsers
|
||||
case let .messagesSliceLegacy(_, _, apiMessages, apiChats, apiUsers):
|
||||
messages = apiMessages
|
||||
chats = apiChats
|
||||
users = apiUsers
|
||||
case .messagesNotModified:
|
||||
messages = []
|
||||
chats = []
|
||||
@ -514,7 +528,9 @@ public func searchMessageIdByTimestamp(account: Account, peerId: PeerId, timesta
|
||||
messages = apiMessages
|
||||
case let .channelMessages(_, _, _, apiMessages, _, _):
|
||||
messages = apiMessages
|
||||
case let.messagesSlice(_, _, _, apiMessages, _, _):
|
||||
case let .messagesSlice(_, _, _, apiMessages, _, _):
|
||||
messages = apiMessages
|
||||
case let .messagesSliceLegacy(_, _, apiMessages, _, _):
|
||||
messages = apiMessages
|
||||
case .messagesNotModified:
|
||||
messages = []
|
||||
@ -538,7 +554,9 @@ public func searchMessageIdByTimestamp(account: Account, peerId: PeerId, timesta
|
||||
messages = apiMessages
|
||||
case let .channelMessages(_, _, _, apiMessages, _, _):
|
||||
messages = apiMessages
|
||||
case let.messagesSlice(_, _, _, apiMessages, _, _):
|
||||
case let .messagesSlice(_, _, _, apiMessages, _, _):
|
||||
messages = apiMessages
|
||||
case let .messagesSliceLegacy(_, _, apiMessages, _, _):
|
||||
messages = apiMessages
|
||||
case .messagesNotModified:
|
||||
messages = []
|
||||
|
||||
@ -60,6 +60,10 @@ private func fetchMessage(transaction: Transaction, account: Account, messageId:
|
||||
apiMessages = messages
|
||||
apiChats = chats
|
||||
apiUsers = users
|
||||
case let .messagesSliceLegacy(_, _, messages, chats, users):
|
||||
apiMessages = messages
|
||||
apiChats = chats
|
||||
apiUsers = users
|
||||
case let .channelMessages(_, _, _, messages, chats, users):
|
||||
apiMessages = messages
|
||||
apiChats = chats
|
||||
|
||||
@ -53,6 +53,8 @@ private func dialogTopMessage(network: Network, postbox: Postbox, peerId: PeerId
|
||||
apiMessages = messages
|
||||
case let .messagesSlice(_, _, _, messages, _, _):
|
||||
apiMessages = messages
|
||||
case let .messagesSliceLegacy(_, _, messages, _, _):
|
||||
apiMessages = messages
|
||||
case .messagesNotModified:
|
||||
apiMessages = []
|
||||
}
|
||||
|
||||
@ -17,7 +17,9 @@ public func requestAccountPrivacySettings(account: Account) -> Signal<AccountPri
|
||||
let phoneNumberPrivacy = account.network.request(Api.functions.account.getPrivacy(key: .inputPrivacyKeyPhoneNumber))
|
||||
let autoremoveTimeout = account.network.request(Api.functions.account.getAccountTTL())
|
||||
return combineLatest(lastSeenPrivacy, groupPrivacy, voiceCallPrivacy, voiceCallP2P, profilePhotoPrivacy, forwardPrivacy, phoneNumberPrivacy, autoremoveTimeout)
|
||||
|> retryRequest
|
||||
|> `catch` { _ in
|
||||
return .complete()
|
||||
}
|
||||
|> mapToSignal { lastSeenPrivacy, groupPrivacy, voiceCallPrivacy, voiceCallP2P, profilePhotoPrivacy, forwardPrivacy, phoneNumberPrivacy, autoremoveTimeout -> Signal<AccountPrivacySettings, NoError> in
|
||||
let accountTimeoutSeconds: Int32
|
||||
switch autoremoveTimeout {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user