Merge branch 'sources_tab'

# Conflicts:
#	AltStore.xcodeproj/project.pbxproj
This commit is contained in:
Riley Testut
2023-10-19 14:18:43 -05:00
39 changed files with 1978 additions and 795 deletions

View File

@@ -23,6 +23,7 @@ class FetchSourceOperation: ResultOperation<Source>
private var source: Source?
private let session: URLSession
private weak var dataTask: URLSessionDataTask?
private lazy var dateFormatter: ISO8601DateFormatter = {
let dateFormatter = ISO8601DateFormatter()
@@ -54,6 +55,13 @@ class FetchSourceOperation: ResultOperation<Source>
self.session = URLSession(configuration: configuration)
}
override func cancel()
{
super.cancel()
self.dataTask?.cancel()
}
override func main()
{
super.main()
@@ -144,6 +152,8 @@ class FetchSourceOperation: ResultOperation<Source>
self.progress.addChild(dataTask.progress, withPendingUnitCount: 1)
dataTask.resume()
self.dataTask = dataTask
}
}

View File

@@ -8,6 +8,8 @@
import Foundation
import AltStoreCore
private extension URL
{
#if STAGING
@@ -66,7 +68,7 @@ class UpdateKnownSourcesOperation: ResultOperation<([KnownSource], [KnownSource]
let sources = (trusted: response.trusted ?? [], blocked: response.blocked ?? [])
// Cache sources
UserDefaults.shared.trustedSources = sources.trusted
UserDefaults.shared.recommendedSources = sources.trusted
UserDefaults.shared.blockedSources = sources.blocked
self.finish(.success(sources))

View File

@@ -96,11 +96,11 @@ class VerifyAppOperation: ResultOperation<Void>
throw error
#endif
if let trustedSources = UserDefaults.shared.trustedSources, let sourceID = await self.context.$appVersion.sourceID
if let recommendedSources = UserDefaults.shared.recommendedSources, let sourceID = await self.context.$appVersion.sourceID
{
let isTrusted = trustedSources.contains { $0.identifier == sourceID }
guard !isTrusted else {
// Don't enforce permission checking for Trusted Sources while 2.0 is in beta.
let isRecommended = recommendedSources.contains { $0.identifier == sourceID }
guard !isRecommended else {
// Don't enforce permission checking for Recommended Sources while 2.0 is in beta.
return self.finish(.success(()))
}
}