diff --git a/submodules/TelegramCore/Sources/State/AppConfiguration.swift b/submodules/TelegramCore/Sources/State/AppConfiguration.swift index d09420e45a..7b081fb90a 100644 --- a/submodules/TelegramCore/Sources/State/AppConfiguration.swift +++ b/submodules/TelegramCore/Sources/State/AppConfiguration.swift @@ -1,6 +1,6 @@ import Postbox -func currentAppConfiguration(transaction: Transaction) -> AppConfiguration { +public func currentAppConfiguration(transaction: Transaction) -> AppConfiguration { if let entry = transaction.getPreferencesEntry(key: PreferencesKeys.appConfiguration)?.get(AppConfiguration.self) { return entry } else { diff --git a/submodules/TelegramUI/Components/TelegramAccountAuxiliaryMethods/Sources/TelegramAccountAuxiliaryMethods.swift b/submodules/TelegramUI/Components/TelegramAccountAuxiliaryMethods/Sources/TelegramAccountAuxiliaryMethods.swift index 741b321e54..a7b0773117 100644 --- a/submodules/TelegramUI/Components/TelegramAccountAuxiliaryMethods/Sources/TelegramAccountAuxiliaryMethods.swift +++ b/submodules/TelegramUI/Components/TelegramAccountAuxiliaryMethods/Sources/TelegramAccountAuxiliaryMethods.swift @@ -18,7 +18,18 @@ import Display public func makeTelegramAccountAuxiliaryMethods(uploadInBackground: ((Postbox, MediaResource) -> Signal)?) -> AccountAuxiliaryMethods { return AccountAuxiliaryMethods(fetchResource: { postbox, resource, ranges, _ in if let resource = resource as? VideoLibraryMediaResource { - return fetchVideoLibraryMediaResource(postbox: postbox, resource: resource) + return postbox.transaction { transaction -> Bool in + var useModernPipeline = true + let appConfig = currentAppConfiguration(transaction: transaction) + if let data = appConfig.data, let _ = data["ios_killswitch_disable_modern_video_pipeline"] { + useModernPipeline = false + } + return useModernPipeline + } + |> castError(MediaResourceDataFetchError.self) + |> mapToSignal { useModernPipeline -> Signal in + return fetchVideoLibraryMediaResource(postbox: postbox, resource: resource, alwaysUseModernPipeline: useModernPipeline) + } } else if let resource = resource as? LocalFileVideoMediaResource { return fetchLocalFileVideoMediaResource(postbox: postbox, resource: resource) } else if let resource = resource as? LocalFileGifMediaResource {