Various fixes

This commit is contained in:
Ilya Laktyushin
2025-03-01 17:14:17 +04:00
parent e13934209c
commit 3f8152d0b1
6 changed files with 64 additions and 39 deletions

View File

@@ -2516,6 +2516,8 @@ public final class ShareController: ViewController {
peers.append(EngineRenderedPeer(entryData.renderedPeer))
if let user = peer as? TelegramUser, user.flags.contains(.requirePremium) || user.flags.contains(.requireStars) {
possiblePremiumRequiredPeers.insert(user.id)
} else if let channel = peer as? TelegramChannel, let _ = channel.sendPaidMessageStars {
possiblePremiumRequiredPeers.insert(channel.id)
}
}
default:
@@ -2529,6 +2531,7 @@ public final class ShareController: ViewController {
keys.append(peerPresencesKey)
for id in possiblePremiumRequiredPeers {
keys.append(.basicPeer(id))
keys.append(.cachedPeerData(peerId: id))
}
@@ -2546,6 +2549,8 @@ public final class ShareController: ViewController {
if let view = views.views[.cachedPeerData(peerId: id)] as? CachedPeerDataView, let data = view.cachedPeerData as? CachedUserData {
requiresPremiumForMessaging[id] = data.flags.contains(.premiumRequired)
requiresStars[id] = data.sendPaidMessageStars?.value
} else if let view = views.views[.basicPeer(id)] as? BasicPeerView, let channel = view.peer as? TelegramChannel {
requiresStars[id] = channel.sendPaidMessageStars?.value
} else {
requiresPremiumForMessaging[id] = false
}