mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-24 07:05:35 +00:00
Various fixes
This commit is contained in:
@@ -85,8 +85,10 @@ extension ChatControllerImpl {
|
||||
}
|
||||
var fromIndex: MessageIndex?
|
||||
|
||||
var fromMessage: Message?
|
||||
if let fromId = fromId, let message = self.chatDisplayNode.historyNode.messageInCurrentHistoryView(fromId) {
|
||||
fromIndex = message.index
|
||||
fromMessage = message
|
||||
} else {
|
||||
if let message = self.chatDisplayNode.historyNode.anchorMessageInCurrentHistoryView() {
|
||||
fromIndex = message.index
|
||||
@@ -110,9 +112,15 @@ extension ChatControllerImpl {
|
||||
}
|
||||
|
||||
if isPinnedMessages || forceNew, let messageId = messageLocation.messageId {
|
||||
let peerSignal: Signal<EnginePeer?, NoError>
|
||||
if forceNew, let fromMessage, let peer = fromMessage.peers[fromMessage.id.peerId] {
|
||||
peerSignal = .single(EnginePeer(peer))
|
||||
} else {
|
||||
peerSignal = self.context.engine.data.get(TelegramEngine.EngineData.Item.Peer.Peer(id: messageId.peerId))
|
||||
}
|
||||
let _ = (combineLatest(
|
||||
self.context.engine.data.get(TelegramEngine.EngineData.Item.Peer.Peer(id: messageId.peerId)),
|
||||
self.context.engine.messages.getMessagesLoadIfNecessary([messageId], strategy: .local)
|
||||
peerSignal,
|
||||
self.context.engine.messages.getMessagesLoadIfNecessary([messageId], strategy: forceNew ? .cloud(skipLocal: false) : .local)
|
||||
|> `catch` { _ in
|
||||
return .single(.result([]))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user