Various fixes

This commit is contained in:
Ilya Laktyushin 2022-05-29 03:58:48 +04:00
parent 8aca1f28fb
commit 4085ca70de
2 changed files with 17 additions and 6 deletions

View File

@ -402,6 +402,7 @@ public func legacyEnqueueVideoMessage(account: Account, data: Data, correlationI
public struct LegacyAssetPickerEnqueueMessage {
public var message: EnqueueMessage
public var uniqueId: String?
public var isFile: Bool
}
public func legacyAssetPickerEnqueueMessages(account: Account, signals: [Any]) -> Signal<[LegacyAssetPickerEnqueueMessage], Void> {
@ -462,7 +463,7 @@ public func legacyAssetPickerEnqueueMessages(account: Account, signals: [Any]) -
attributes.append(TextEntitiesMessageAttribute(entities: entities))
}
messages.append(LegacyAssetPickerEnqueueMessage(message: .message(text: text.string, attributes: attributes, mediaReference: .standalone(media: media), replyToMessageId: nil, localGroupingKey: item.groupedId, correlationId: nil), uniqueId: item.uniqueId))
messages.append(LegacyAssetPickerEnqueueMessage(message: .message(text: text.string, attributes: attributes, mediaReference: .standalone(media: media), replyToMessageId: nil, localGroupingKey: item.groupedId, correlationId: nil), uniqueId: item.uniqueId, isFile: false))
}
}
case let .asset(asset):
@ -485,7 +486,7 @@ public func legacyAssetPickerEnqueueMessages(account: Account, signals: [Any]) -
attributes.append(TextEntitiesMessageAttribute(entities: entities))
}
messages.append(LegacyAssetPickerEnqueueMessage(message: .message(text: text.string, attributes: attributes, mediaReference: .standalone(media: media), replyToMessageId: nil, localGroupingKey: item.groupedId, correlationId: nil), uniqueId: item.uniqueId))
messages.append(LegacyAssetPickerEnqueueMessage(message: .message(text: text.string, attributes: attributes, mediaReference: .standalone(media: media), replyToMessageId: nil, localGroupingKey: item.groupedId, correlationId: nil), uniqueId: item.uniqueId, isFile: false))
case .tempFile:
break
}
@ -515,7 +516,7 @@ public func legacyAssetPickerEnqueueMessages(account: Account, signals: [Any]) -
attributes.append(TextEntitiesMessageAttribute(entities: entities))
}
messages.append(LegacyAssetPickerEnqueueMessage(message: .message(text: text.string, attributes: attributes, mediaReference: .standalone(media: media), replyToMessageId: nil, localGroupingKey: item.groupedId, correlationId: nil), uniqueId: item.uniqueId))
messages.append(LegacyAssetPickerEnqueueMessage(message: .message(text: text.string, attributes: attributes, mediaReference: .standalone(media: media), replyToMessageId: nil, localGroupingKey: item.groupedId, correlationId: nil), uniqueId: item.uniqueId, isFile: true))
case let .asset(asset):
var randomId: Int64 = 0
arc4random_buf(&randomId, 8)
@ -529,7 +530,7 @@ public func legacyAssetPickerEnqueueMessages(account: Account, signals: [Any]) -
attributes.append(TextEntitiesMessageAttribute(entities: entities))
}
messages.append(LegacyAssetPickerEnqueueMessage(message: .message(text: text.string, attributes: attributes, mediaReference: .standalone(media: media), replyToMessageId: nil, localGroupingKey: item.groupedId, correlationId: nil), uniqueId: item.uniqueId))
messages.append(LegacyAssetPickerEnqueueMessage(message: .message(text: text.string, attributes: attributes, mediaReference: .standalone(media: media), replyToMessageId: nil, localGroupingKey: item.groupedId, correlationId: nil), uniqueId: item.uniqueId, isFile: true))
default:
break
}
@ -664,7 +665,7 @@ public func legacyAssetPickerEnqueueMessages(account: Account, signals: [Any]) -
attributes.append(TextEntitiesMessageAttribute(entities: entities))
}
messages.append(LegacyAssetPickerEnqueueMessage(message: .message(text: text.string, attributes: attributes, mediaReference: .standalone(media: media), replyToMessageId: nil, localGroupingKey: item.groupedId, correlationId: nil), uniqueId: item.uniqueId))
messages.append(LegacyAssetPickerEnqueueMessage(message: .message(text: text.string, attributes: attributes, mediaReference: .standalone(media: media), replyToMessageId: nil, localGroupingKey: item.groupedId, correlationId: nil), uniqueId: item.uniqueId, isFile: asFile))
}
}
}

View File

@ -12612,9 +12612,19 @@ public final class ChatControllerImpl: TelegramBaseController, ChatController, G
var groupedCorrelationIds: [Int64: Int64] = [:]
var skipAddingTransitions = false
for item in items {
var message = item.message
if let uniqueId = item.uniqueId {
if message.groupingKey != nil {
if items.count > 10 {
skipAddingTransitions = true
}
} else if items.count > 3 {
skipAddingTransitions = true
}
if let uniqueId = item.uniqueId, !item.isFile && !skipAddingTransitions {
let correlationId: Int64
var addTransition = scheduleTime == nil
if let groupingKey = message.groupingKey {