Update Ghostgram features

This commit is contained in:
ichmagmaus 812
2026-03-07 18:15:32 +01:00
parent 32b0dddcd9
commit 13a43b9068
902 changed files with 148302 additions and 62355 deletions
@@ -558,17 +558,20 @@ private func validateChannelMessagesBatch(postbox: Postbox, network: Network, ac
var channelPts: Int32?
switch result {
case let .messages(messages: apiMessages, topics: apiTopics, chats: apiChats, users: apiUsers):
case let .messages(messagesData):
let (apiMessages, apiTopics, apiChats, apiUsers) = (messagesData.messages, messagesData.topics, messagesData.chats, messagesData.users)
let _ = apiTopics
messages = apiMessages
chats = apiChats
users = apiUsers
case let .messagesSlice(_, _, _, _, _, messages: apiMessages, topics: apiTopics, chats: apiChats, users: apiUsers):
case let .messagesSlice(messagesSliceData):
let (apiMessages, apiTopics, apiChats, apiUsers) = (messagesSliceData.messages, messagesSliceData.topics, messagesSliceData.chats, messagesSliceData.users)
let _ = apiTopics
messages = apiMessages
chats = apiChats
users = apiUsers
case let .channelMessages(_, pts, _, _, apiMessages, apiTopics, apiChats, apiUsers):
case let .channelMessages(channelMessagesData):
let (pts, apiMessages, apiTopics, apiChats, apiUsers) = (channelMessagesData.pts, channelMessagesData.messages, channelMessagesData.topics, channelMessagesData.chats, channelMessagesData.users)
messages = apiMessages
let _ = apiTopics
chats = apiChats
@@ -629,17 +632,20 @@ private func validateReplyThreadMessagesBatch(postbox: Postbox, network: Network
var channelPts: Int32?
switch result {
case let .messages(messages: apiMessages, topics: apiTopics, chats: apiChats, users: apiUsers):
case let .messages(messagesData):
let (apiMessages, apiTopics, apiChats, apiUsers) = (messagesData.messages, messagesData.topics, messagesData.chats, messagesData.users)
let _ = apiTopics
messages = apiMessages
chats = apiChats
users = apiUsers
case let .messagesSlice(_, _, _, _, _, messages: apiMessages, topics: apiTopics, chats: apiChats, users: apiUsers):
case let .messagesSlice(messagesSliceData):
let (apiMessages, apiTopics, apiChats, apiUsers) = (messagesSliceData.messages, messagesSliceData.topics, messagesSliceData.chats, messagesSliceData.users)
let _ = apiTopics
messages = apiMessages
chats = apiChats
users = apiUsers
case let .channelMessages(_, pts, _, _, apiMessages, apiTopics, apiChats, apiUsers):
case let .channelMessages(channelMessagesData):
let (pts, apiMessages, apiTopics, apiChats, apiUsers) = (channelMessagesData.pts, channelMessagesData.messages, channelMessagesData.topics, channelMessagesData.chats, channelMessagesData.users)
messages = apiMessages
let _ = apiTopics
chats = apiChats
@@ -653,7 +659,7 @@ private func validateReplyThreadMessagesBatch(postbox: Postbox, network: Network
} else {
return .complete()
}
return validateReplyThreadBatch(postbox: postbox, network: network, transaction: transaction, accountPeerId: accountPeerId, peerId: peerId, threadId: Int64(threadMessageId), signal: signal, previous: previous, messageNamespace: Namespaces.Message.Cloud)
}
|> switchToLatest
@@ -673,17 +679,20 @@ private func validateScheduledMessagesBatch(postbox: Postbox, network: Network,
let users: [Api.User]
switch result {
case let .messages(messages: apiMessages, topics: apiTopics, chats: apiChats, users: apiUsers):
case let .messages(messagesData):
let (apiMessages, apiTopics, apiChats, apiUsers) = (messagesData.messages, messagesData.topics, messagesData.chats, messagesData.users)
let _ = apiTopics
messages = apiMessages
chats = apiChats
users = apiUsers
case let .messagesSlice(_, _, _, _, _, messages: apiMessages, topics: apiTopics, chats: apiChats, users: apiUsers):
case let .messagesSlice(messagesSliceData):
let (apiMessages, apiTopics, apiChats, apiUsers) = (messagesSliceData.messages, messagesSliceData.topics, messagesSliceData.chats, messagesSliceData.users)
let _ = apiTopics
messages = apiMessages
chats = apiChats
users = apiUsers
case let .channelMessages(_, _, _, _, apiMessages, apiTopics, apiChats, apiUsers):
case let .channelMessages(channelMessagesData):
let (apiMessages, apiTopics, apiChats, apiUsers) = (channelMessagesData.messages, channelMessagesData.topics, channelMessagesData.chats, channelMessagesData.users)
messages = apiMessages
let _ = apiTopics
chats = apiChats
@@ -721,17 +730,20 @@ private func validateQuickReplyMessagesBatch(postbox: Postbox, network: Network,
let users: [Api.User]
switch result {
case let .messages(messages: apiMessages, topics: apiTopics, chats: apiChats, users: apiUsers):
case let .messages(messagesData):
let (apiMessages, apiTopics, apiChats, apiUsers) = (messagesData.messages, messagesData.topics, messagesData.chats, messagesData.users)
let _ = apiTopics
messages = apiMessages
chats = apiChats
users = apiUsers
case let .messagesSlice(_, _, _, _, _, messages: apiMessages, topics: apiTopics, chats: apiChats, users: apiUsers):
case let .messagesSlice(messagesSliceData):
let (apiMessages, apiTopics, apiChats, apiUsers) = (messagesSliceData.messages, messagesSliceData.topics, messagesSliceData.chats, messagesSliceData.users)
let _ = apiTopics
messages = apiMessages
chats = apiChats
users = apiUsers
case let .channelMessages(_, _, _, _, apiMessages, apiTopics, apiChats, apiUsers):
case let .channelMessages(channelMessagesData):
let (apiMessages, apiTopics, apiChats, apiUsers) = (channelMessagesData.messages, channelMessagesData.topics, channelMessagesData.chats, channelMessagesData.users)
messages = apiMessages
let _ = apiTopics
chats = apiChats
@@ -802,16 +814,19 @@ private func validateBatch(postbox: Postbox, network: Network, transaction: Tran
case let .channel(peerId, _):
actuallyRemovedMessagesSignal = postbox.transaction { transaction -> Signal<Set<MessageId>, NoError> in
if let inputChannel = transaction.getPeer(peerId).flatMap(apiInputChannel) {
return network.request(Api.functions.channels.getMessages(channel: inputChannel, id: maybeRemovedMessageIds.map({ Api.InputMessage.inputMessageID(id: $0.id) })))
return network.request(Api.functions.channels.getMessages(channel: inputChannel, id: maybeRemovedMessageIds.map({ Api.InputMessage.inputMessageID(.init(id: $0.id)) })))
|> map { result -> Set<MessageId> in
let apiMessages: [Api.Message]
switch result {
case let .channelMessages(_, _, _, _, messages, apiTopics, _, _):
case let .channelMessages(channelMessagesData):
let (messages, apiTopics) = (channelMessagesData.messages, channelMessagesData.topics)
apiMessages = messages
let _ = apiTopics
case let .messages(messages, _, _, _):
case let .messages(messagesData):
let messages = messagesData.messages
apiMessages = messages
case let .messagesSlice(_, _, _, _, _, messages, _, _, _):
case let .messagesSlice(messagesSliceData):
let messages = messagesSliceData.messages
apiMessages = messages
case .messagesNotModified:
return Set()
@@ -1051,16 +1066,19 @@ private func validateReplyThreadBatch(postbox: Postbox, network: Network, transa
} else {
actuallyRemovedMessagesSignal = postbox.transaction { transaction -> Signal<Set<MessageId>, NoError> in
if let inputChannel = transaction.getPeer(peerId).flatMap(apiInputChannel) {
return network.request(Api.functions.channels.getMessages(channel: inputChannel, id: maybeRemovedMessageIds.map({ Api.InputMessage.inputMessageID(id: $0.id) })))
return network.request(Api.functions.channels.getMessages(channel: inputChannel, id: maybeRemovedMessageIds.map({ Api.InputMessage.inputMessageID(.init(id: $0.id)) })))
|> map { result -> Set<MessageId> in
let apiMessages: [Api.Message]
switch result {
case let .channelMessages(_, _, _, _, messages, apiTopics, _, _):
case let .channelMessages(channelMessagesData):
let (messages, apiTopics) = (channelMessagesData.messages, channelMessagesData.topics)
apiMessages = messages
let _ = apiTopics
case let .messages(messages, _, _, _):
case let .messages(messagesData):
let messages = messagesData.messages
apiMessages = messages
case let .messagesSlice(_, _, _, _, _, messages, _, _, _):
case let .messagesSlice(messagesSliceData):
let messages = messagesSliceData.messages
apiMessages = messages
case .messagesNotModified:
return Set()