From 0290100f13850da9f5f45d40966375c964efa2cd Mon Sep 17 00:00:00 2001 From: Mike Renoir <> Date: Fri, 16 Dec 2022 14:40:03 +0400 Subject: [PATCH] macos relative changes --- submodules/Postbox/Package.swift | 2 ++ .../Sources/MacOS/MacInternalUpdater.swift | 2 +- .../SyncCore_CacheStorageSettings.swift | 23 +++++++++++++------ .../Utils/AutomaticCacheEviction.swift | 6 ++--- .../Sources/GroupCallContext.swift | 20 ++++++++-------- 5 files changed, 32 insertions(+), 21 deletions(-) diff --git a/submodules/Postbox/Package.swift b/submodules/Postbox/Package.swift index d9bcd9b6e8..049d141295 100644 --- a/submodules/Postbox/Package.swift +++ b/submodules/Postbox/Package.swift @@ -22,6 +22,7 @@ let package = Package( .package(name: "ManagedFile", path: "../ManagedFile"), .package(name: "RangeSet", path: "../Utils/RangeSet"), .package(name: "SSignalKit", path: "../SSignalKit"), + .package(name: "CryptoUtils", path: "../CryptoUtils") ], targets: [ // Targets are the basic building blocks of a package. A target can define a module or a test suite. @@ -34,6 +35,7 @@ let package = Package( .product(name: "RangeSet", package: "RangeSet", condition: nil), .product(name: "sqlcipher", package: "sqlcipher", condition: nil), .product(name: "StringTransliteration", package: "StringTransliteration", condition: nil), + .product(name: "CryptoUtils", package: "CryptoUtils", condition: nil), .product(name: "Crc32", package: "Crc32", condition: nil)], path: "Sources"), ] diff --git a/submodules/TelegramCore/Sources/MacOS/MacInternalUpdater.swift b/submodules/TelegramCore/Sources/MacOS/MacInternalUpdater.swift index 92b139dffe..ef88773a54 100644 --- a/submodules/TelegramCore/Sources/MacOS/MacInternalUpdater.swift +++ b/submodules/TelegramCore/Sources/MacOS/MacInternalUpdater.swift @@ -117,7 +117,7 @@ public func downloadAppUpdate(account: Account, source: String, messageId: Int32 var dataDisposable: Disposable? var fetchDisposable: Disposable? var statusDisposable: Disposable? - let removeDisposable = account.postbox.mediaBox.removeCachedResources(Set([media.resource.id])).start(completed: { + let removeDisposable = account.postbox.mediaBox.removeCachedResources([media.resource.id]).start(completed: { let reference = MediaResourceReference.media(media: .message(message: MessageReference(message), media: media), resource: media.resource) fetchDisposable = fetchedMediaResource(mediaBox: account.postbox.mediaBox, reference: reference).start() diff --git a/submodules/TelegramCore/Sources/SyncCore/SyncCore_CacheStorageSettings.swift b/submodules/TelegramCore/Sources/SyncCore/SyncCore_CacheStorageSettings.swift index 8741ceea7d..a5d2bc6d1a 100644 --- a/submodules/TelegramCore/Sources/SyncCore/SyncCore_CacheStorageSettings.swift +++ b/submodules/TelegramCore/Sources/SyncCore/SyncCore_CacheStorageSettings.swift @@ -90,16 +90,25 @@ public struct AccountSpecificCacheStorageSettings: Codable, Equatable { var value: Int32 } - public var peerStorageTimeoutExceptions: [PeerId: Int32] + public struct Value : Equatable { + public let key: PeerId + public let value: Int32 + public init(key: PeerId, value: Int32) { + self.key = key + self.value = value + } + } + + public var peerStorageTimeoutExceptions: [Value] public static var defaultSettings: AccountSpecificCacheStorageSettings { return AccountSpecificCacheStorageSettings( - peerStorageTimeoutExceptions: [:] + peerStorageTimeoutExceptions: [] ) } public init( - peerStorageTimeoutExceptions: [PeerId: Int32] + peerStorageTimeoutExceptions: [Value] ) { self.peerStorageTimeoutExceptions = peerStorageTimeoutExceptions } @@ -109,9 +118,9 @@ public struct AccountSpecificCacheStorageSettings: Codable, Equatable { if let data = try container.decodeIfPresent(Data.self, forKey: "peerStorageTimeoutExceptionsJson") { if let items = try? JSONDecoder().decode([PeerStorageTimeoutExceptionRepresentation].self, from: data) { - var peerStorageTimeoutExceptions: [PeerId: Int32] = [:] + var peerStorageTimeoutExceptions: [Value] = [] for item in items { - peerStorageTimeoutExceptions[item.key] = item.value + peerStorageTimeoutExceptions.append(.init(key: item.key, value: item.value)) } self.peerStorageTimeoutExceptions = peerStorageTimeoutExceptions } else { @@ -126,8 +135,8 @@ public struct AccountSpecificCacheStorageSettings: Codable, Equatable { var container = encoder.container(keyedBy: StringCodingKey.self) var peerStorageTimeoutExceptionsValues: [PeerStorageTimeoutExceptionRepresentation] = [] - for (key, value) in self.peerStorageTimeoutExceptions { - peerStorageTimeoutExceptionsValues.append(PeerStorageTimeoutExceptionRepresentation(key: key, value: value)) + for value in self.peerStorageTimeoutExceptions { + peerStorageTimeoutExceptionsValues.append(PeerStorageTimeoutExceptionRepresentation(key: value.key, value: value.value)) } if let data = try? JSONEncoder().encode(peerStorageTimeoutExceptionsValues) { try container.encode(data, forKey: "peerStorageTimeoutExceptionsJson") diff --git a/submodules/TelegramCore/Sources/Utils/AutomaticCacheEviction.swift b/submodules/TelegramCore/Sources/Utils/AutomaticCacheEviction.swift index 3a75cb3716..e5f5febbf8 100644 --- a/submodules/TelegramCore/Sources/Utils/AutomaticCacheEviction.swift +++ b/submodules/TelegramCore/Sources/Utils/AutomaticCacheEviction.swift @@ -6,7 +6,7 @@ final class AutomaticCacheEvictionContext { private final class Impl { private struct CombinedSettings: Equatable { var categoryStorageTimeout: [CacheStorageSettings.PeerStorageCategory: Int32] - var exceptions: [PeerId: Int32] + var exceptions: [AccountSpecificCacheStorageSettings.Value] } let queue: Queue @@ -109,8 +109,8 @@ final class AutomaticCacheEvictionContext { for peerId in peerIds { let timeout: Int32 - if let value = settings.exceptions[peerId] { - timeout = value + if let value = settings.exceptions.first(where: { $0.key == peerId }) { + timeout = value.value } else { switch peerId.namespace { case Namespaces.Peer.CloudUser, Namespaces.Peer.SecretChat: diff --git a/submodules/TelegramVoip/Sources/GroupCallContext.swift b/submodules/TelegramVoip/Sources/GroupCallContext.swift index 9c61f22b10..f0cc626665 100644 --- a/submodules/TelegramVoip/Sources/GroupCallContext.swift +++ b/submodules/TelegramVoip/Sources/GroupCallContext.swift @@ -415,7 +415,7 @@ public final class OngoingGroupCallContext { private final class Impl { let queue: Queue let context: GroupCallThreadLocalContext - let audioDevice: SharedCallAudioDevice? + // let audioDevice: SharedCallAudioDevice? let sessionId = UInt32.random(in: 0 ..< UInt32(Int32.max)) let joinPayload = Promise<(String, UInt32)>() @@ -433,8 +433,8 @@ public final class OngoingGroupCallContext { init(queue: Queue, inputDeviceId: String, outputDeviceId: String, audioSessionActive: Signal, video: OngoingCallVideoCapturer?, requestMediaChannelDescriptions: @escaping (Set, @escaping ([MediaChannelDescription]) -> Void) -> Disposable, rejoinNeeded: @escaping () -> Void, outgoingAudioBitrateKbit: Int32?, videoContentType: VideoContentType, enableNoiseSuppression: Bool, disableAudioInput: Bool, preferX264: Bool, logPath: String) { self.queue = queue - self.audioDevice = nil - let audioDevice = self.audioDevice +// self.audioDevice = nil +// let audioDevice = self.audioDevice var networkStateUpdatedImpl: ((GroupCallNetworkState) -> Void)? var audioLevelsUpdatedImpl: (([NSNumber]) -> Void)? @@ -541,8 +541,8 @@ public final class OngoingGroupCallContext { enableNoiseSuppression: enableNoiseSuppression, disableAudioInput: disableAudioInput, preferX264: preferX264, - logPath: logPath, - audioDevice: audioDevice + logPath: logPath +// audioDevice: audioDevice ) let queue = self.queue @@ -595,7 +595,7 @@ public final class OngoingGroupCallContext { guard let `self` = self else { return } - self.audioDevice?.setManualAudioSessionIsActive(isActive) +// self.audioDevice?.setManualAudioSessionIsActive(isActive) #if os(iOS) self.context.setManualAudioSessionIsActive(isActive) #endif @@ -907,11 +907,11 @@ public final class OngoingGroupCallContext { let mappedTone = tone.flatMap { tone in CallAudioTone(samples: tone.samples, sampleRate: tone.sampleRate, loopCount: tone.loopCount) } - if let audioDevice = self.audioDevice { - audioDevice.setTone(mappedTone) - } else { +// if let audioDevice = self.audioDevice { +// audioDevice.setTone(mappedTone) +// } else { self.context.setTone(mappedTone) - } +// } #endif }