mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-18 20:30:51 +00:00
Merge branch 'master' of gitlab.com:peter-iakovlev/telegram-ios
This commit is contained in:
commit
71a5d5560e
@ -538,7 +538,6 @@ public final class PresentationGroupCallImpl: PresentationGroupCall {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private var missingSsrcs = Set<UInt32>()
|
private var missingSsrcs = Set<UInt32>()
|
||||||
private var processedMissingSsrcs = Set<UInt32>()
|
|
||||||
private let missingSsrcsDisposable = MetaDisposable()
|
private let missingSsrcsDisposable = MetaDisposable()
|
||||||
private var isRequestingMissingSsrcs: Bool = false
|
private var isRequestingMissingSsrcs: Bool = false
|
||||||
|
|
||||||
@ -1633,12 +1632,7 @@ public final class PresentationGroupCallImpl: PresentationGroupCall {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private func maybeRequestParticipants(ssrcs: Set<UInt32>) {
|
private func maybeRequestParticipants(ssrcs: Set<UInt32>) {
|
||||||
var missingSsrcs = ssrcs
|
var addedMissingSsrcs = ssrcs
|
||||||
missingSsrcs.subtract(self.processedMissingSsrcs)
|
|
||||||
if missingSsrcs.isEmpty {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
self.processedMissingSsrcs.formUnion(ssrcs)
|
|
||||||
|
|
||||||
var addedParticipants: [(UInt32, String?)] = []
|
var addedParticipants: [(UInt32, String?)] = []
|
||||||
|
|
||||||
@ -1646,9 +1640,8 @@ public final class PresentationGroupCallImpl: PresentationGroupCall {
|
|||||||
for participant in membersValue.participants {
|
for participant in membersValue.participants {
|
||||||
let participantSsrcs = participant.allSsrcs
|
let participantSsrcs = participant.allSsrcs
|
||||||
|
|
||||||
if !missingSsrcs.intersection(participantSsrcs).isEmpty {
|
if !addedMissingSsrcs.intersection(participantSsrcs).isEmpty {
|
||||||
missingSsrcs.subtract(participantSsrcs)
|
addedMissingSsrcs.subtract(participantSsrcs)
|
||||||
self.processedMissingSsrcs.formUnion(participantSsrcs)
|
|
||||||
|
|
||||||
if let ssrc = participant.ssrc {
|
if let ssrc = participant.ssrc {
|
||||||
addedParticipants.append((ssrc, participant.jsonParams))
|
addedParticipants.append((ssrc, participant.jsonParams))
|
||||||
@ -1661,8 +1654,8 @@ public final class PresentationGroupCallImpl: PresentationGroupCall {
|
|||||||
self.callContext?.addParticipants(participants: addedParticipants)
|
self.callContext?.addParticipants(participants: addedParticipants)
|
||||||
}
|
}
|
||||||
|
|
||||||
if !missingSsrcs.isEmpty {
|
if !addedMissingSsrcs.isEmpty {
|
||||||
self.missingSsrcs.formUnion(missingSsrcs)
|
self.missingSsrcs.formUnion(addedMissingSsrcs)
|
||||||
self.maybeRequestMissingSsrcs()
|
self.maybeRequestMissingSsrcs()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2100,7 +2093,6 @@ public final class PresentationGroupCallImpl: PresentationGroupCall {
|
|||||||
|
|
||||||
self.missingSsrcsDisposable.set(nil)
|
self.missingSsrcsDisposable.set(nil)
|
||||||
self.missingSsrcs.removeAll()
|
self.missingSsrcs.removeAll()
|
||||||
self.processedMissingSsrcs.removeAll()
|
|
||||||
|
|
||||||
self.internalState = .requesting
|
self.internalState = .requesting
|
||||||
self.internalStatePromise.set(.single(.requesting))
|
self.internalStatePromise.set(.single(.requesting))
|
||||||
|
|||||||
@ -2731,6 +2731,7 @@ func replayFinalState(accountManager: AccountManager, postbox: Postbox, accountP
|
|||||||
if count == 0 {
|
if count == 0 {
|
||||||
transaction.removeHole(peerId: peerId, namespace: namespace, space: .tag(.unseenPersonalMessage), range: 1 ... (Int32.max - 1))
|
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 })
|
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 {
|
for id in ids {
|
||||||
markUnseenPersonalMessage(transaction: transaction, id: id, addSynchronizeAction: false)
|
markUnseenPersonalMessage(transaction: transaction, id: id, addSynchronizeAction: false)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
Subproject commit e80667a343b62f6b8b2c3e0a828222096a497990
|
Subproject commit ea8dbb49dea53d6778ba3ffbd556a10d164cef69
|
||||||
Loading…
x
Reference in New Issue
Block a user