mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-04 21:41:45 +00:00
Load peer for private channel check
This commit is contained in:
parent
7ee98dc00e
commit
f7eee308d8
@ -2019,14 +2019,30 @@ public final class ChatControllerImpl: TelegramBaseController, ChatController, G
|
||||
guard let self else {
|
||||
return
|
||||
}
|
||||
|
||||
let continueNavigation: () -> Void = { [weak self] in
|
||||
guard let self else {
|
||||
return
|
||||
}
|
||||
self.navigateToMessage(from: fromId, to: .id(id, params), forceInCurrentChat: fromId.peerId == id.peerId)
|
||||
}
|
||||
|
||||
let _ = (self.context.engine.data.get(
|
||||
TelegramEngine.EngineData.Item.Peer.Peer(id: id.peerId)
|
||||
)
|
||||
|> deliverOnMainQueue).startStandalone(next: { [weak self] toPeer in
|
||||
guard let self else {
|
||||
return
|
||||
}
|
||||
|
||||
if params.quote != nil {
|
||||
if let message = self.chatDisplayNode.historyNode.messageInCurrentHistoryView(fromId), let toPeer = message.peers[id.peerId] {
|
||||
if let toPeer {
|
||||
switch toPeer {
|
||||
case let channel as TelegramChannel:
|
||||
case let .channel(channel):
|
||||
if channel.username == nil && channel.usernames.isEmpty {
|
||||
switch channel.participationStatus {
|
||||
case .kicked, .left:
|
||||
self.controllerInteraction?.attemptedNavigationToPrivateQuote(toPeer)
|
||||
self.controllerInteraction?.attemptedNavigationToPrivateQuote(toPeer._asPeer())
|
||||
return
|
||||
case .member:
|
||||
break
|
||||
@ -2035,10 +2051,14 @@ public final class ChatControllerImpl: TelegramBaseController, ChatController, G
|
||||
default:
|
||||
break
|
||||
}
|
||||
} else {
|
||||
self.controllerInteraction?.attemptedNavigationToPrivateQuote(nil)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
self.navigateToMessage(from: fromId, to: .id(id, params), forceInCurrentChat: fromId.peerId == id.peerId)
|
||||
continueNavigation()
|
||||
})
|
||||
}, navigateToMessageStandalone: { [weak self] id in
|
||||
self?.navigateToMessage(from: nil, to: .id(id, NavigateToMessageParams(timestamp: nil, quote: nil)), forceInCurrentChat: false)
|
||||
}, navigateToThreadMessage: { [weak self] peerId, threadId, messageId in
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user