mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
Fix tgcalls
This commit is contained in:
parent
745c6e81a5
commit
5d22f0e39a
@ -538,7 +538,6 @@ public final class PresentationGroupCallImpl: PresentationGroupCall {
|
||||
}
|
||||
|
||||
private var missingSsrcs = Set<UInt32>()
|
||||
private var processedMissingSsrcs = Set<UInt32>()
|
||||
private let missingSsrcsDisposable = MetaDisposable()
|
||||
private var isRequestingMissingSsrcs: Bool = false
|
||||
|
||||
@ -1633,22 +1632,16 @@ public final class PresentationGroupCallImpl: PresentationGroupCall {
|
||||
}
|
||||
|
||||
private func maybeRequestParticipants(ssrcs: Set<UInt32>) {
|
||||
var missingSsrcs = ssrcs
|
||||
missingSsrcs.subtract(self.processedMissingSsrcs)
|
||||
if missingSsrcs.isEmpty {
|
||||
return
|
||||
}
|
||||
self.processedMissingSsrcs.formUnion(ssrcs)
|
||||
|
||||
var addedMissingSsrcs = ssrcs
|
||||
|
||||
var addedParticipants: [(UInt32, String?)] = []
|
||||
|
||||
if let membersValue = self.membersValue {
|
||||
for participant in membersValue.participants {
|
||||
let participantSsrcs = participant.allSsrcs
|
||||
|
||||
if !missingSsrcs.intersection(participantSsrcs).isEmpty {
|
||||
missingSsrcs.subtract(participantSsrcs)
|
||||
self.processedMissingSsrcs.formUnion(participantSsrcs)
|
||||
if !addedMissingSsrcs.intersection(participantSsrcs).isEmpty {
|
||||
addedMissingSsrcs.subtract(participantSsrcs)
|
||||
|
||||
if let ssrc = participant.ssrc {
|
||||
addedParticipants.append((ssrc, participant.jsonParams))
|
||||
@ -1661,8 +1654,8 @@ public final class PresentationGroupCallImpl: PresentationGroupCall {
|
||||
self.callContext?.addParticipants(participants: addedParticipants)
|
||||
}
|
||||
|
||||
if !missingSsrcs.isEmpty {
|
||||
self.missingSsrcs.formUnion(missingSsrcs)
|
||||
if !addedMissingSsrcs.isEmpty {
|
||||
self.missingSsrcs.formUnion(addedMissingSsrcs)
|
||||
self.maybeRequestMissingSsrcs()
|
||||
}
|
||||
}
|
||||
@ -2100,7 +2093,6 @@ public final class PresentationGroupCallImpl: PresentationGroupCall {
|
||||
|
||||
self.missingSsrcsDisposable.set(nil)
|
||||
self.missingSsrcs.removeAll()
|
||||
self.processedMissingSsrcs.removeAll()
|
||||
|
||||
self.internalState = .requesting
|
||||
self.internalStatePromise.set(.single(.requesting))
|
||||
|
@ -2731,6 +2731,7 @@ func replayFinalState(accountManager: AccountManager, postbox: Postbox, accountP
|
||||
if count == 0 {
|
||||
transaction.removeHole(peerId: peerId, namespace: namespace, space: .tag(.unseenPersonalMessage), range: 1 ... (Int32.max - 1))
|
||||
let ids = transaction.getMessageIndicesWithTag(peerId: peerId, namespace: namespace, tag: .unseenPersonalMessage).map({ $0.id })
|
||||
Logger.shared.log("State", "will call markUnseenPersonalMessage for \(ids.count) messages")
|
||||
for id in ids {
|
||||
markUnseenPersonalMessage(transaction: transaction, id: id, addSynchronizeAction: false)
|
||||
}
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit e80667a343b62f6b8b2c3e0a828222096a497990
|
||||
Subproject commit ea8dbb49dea53d6778ba3ffbd556a10d164cef69
|
Loading…
x
Reference in New Issue
Block a user