Skip to content

Commit

Permalink
Merge branch 'release/2.6.3'
Browse files Browse the repository at this point in the history
  • Loading branch information
tobihagemann committed Oct 22, 2024
2 parents eb62ce2 + c24513e commit d2d1825
Show file tree
Hide file tree
Showing 96 changed files with 537 additions and 213 deletions.
2 changes: 1 addition & 1 deletion .github/SUPPORT.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,5 @@ For _everything else_, please visit our official [Cryptomator Community](https:/
- Discussions about the apps
- [Development discussions](https://community.cryptomator.org/c/development)
- General questions
- Discussions regarding our design decissions
- Discussions regarding our design decisions
- Our roadmap
20 changes: 10 additions & 10 deletions Cryptomator.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -290,8 +290,6 @@
4ABCF3522726D24800A7FBB7 /* MoveVaultViewModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4ABCF3512726D24800A7FBB7 /* MoveVaultViewModelTests.swift */; };
4AC005F127C3D80B006FFE87 /* PremiumManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4AC005F027C3D80B006FFE87 /* PremiumManager.swift */; };
4AC005F327C3D932006FFE87 /* PremiumManagerMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4AC005F227C3D932006FFE87 /* PremiumManagerMock.swift */; };
4AC1157627F5BD890023F51B /* Promise+AllIgnoringResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4AC1157527F5BD890023F51B /* Promise+AllIgnoringResult.swift */; };
4AC1157827F5BEFD0023F51B /* Promise+AllIgnoringResultsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4AC1157727F5BEFD0023F51B /* Promise+AllIgnoringResultsTests.swift */; };
4AC86270273598CC00E15BA5 /* UIViewController+ProgressHUDError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4AC8626F273598CC00E15BA5 /* UIViewController+ProgressHUDError.swift */; };
4AD0F61C24AF203F0026B765 /* FileProvider+Actions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4AD0F61B24AF203F0026B765 /* FileProvider+Actions.swift */; };
4AD3D7D6282EBDE7008188CD /* Intents.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4AD3D7D5282EBDE7008188CD /* Intents.framework */; };
Expand Down Expand Up @@ -434,6 +432,8 @@
74F5DC1C26DCD2FB00AFE989 /* StoreObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74F5DC1B26DCD2FB00AFE989 /* StoreObserver.swift */; };
74F5DC1F26DD036D00AFE989 /* StoreManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74F5DC1E26DD036D00AFE989 /* StoreManager.swift */; };
74FC576125ADED030003ED27 /* VaultCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74FC576025ADED030003ED27 /* VaultCell.swift */; };
B330CB452CB5735300C21E03 /* UnauthorizedErrorViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B330CB442CB5735000C21E03 /* UnauthorizedErrorViewController.swift */; };
B3D19A442CB937C700CD18A5 /* FileProviderCoordinatorError.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3D19A432CB937BF00CD18A5 /* FileProviderCoordinatorError.swift */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
Expand Down Expand Up @@ -828,8 +828,6 @@
4ABCF3512726D24800A7FBB7 /* MoveVaultViewModelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MoveVaultViewModelTests.swift; sourceTree = "<group>"; };
4AC005F027C3D80B006FFE87 /* PremiumManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PremiumManager.swift; sourceTree = "<group>"; };
4AC005F227C3D932006FFE87 /* PremiumManagerMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PremiumManagerMock.swift; sourceTree = "<group>"; };
4AC1157527F5BD890023F51B /* Promise+AllIgnoringResult.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Promise+AllIgnoringResult.swift"; sourceTree = "<group>"; };
4AC1157727F5BEFD0023F51B /* Promise+AllIgnoringResultsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Promise+AllIgnoringResultsTests.swift"; sourceTree = "<group>"; };
4AC8626F273598CC00E15BA5 /* UIViewController+ProgressHUDError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIViewController+ProgressHUDError.swift"; sourceTree = "<group>"; };
4AD0F61B24AF203F0026B765 /* FileProvider+Actions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FileProvider+Actions.swift"; sourceTree = "<group>"; };
4AD3D7D4282EBDE7008188CD /* CryptomatorIntents.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = CryptomatorIntents.appex; sourceTree = BUILT_PRODUCTS_DIR; };
Expand Down Expand Up @@ -1041,6 +1039,8 @@
74F5DC1B26DCD2FB00AFE989 /* StoreObserver.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StoreObserver.swift; sourceTree = "<group>"; };
74F5DC1E26DD036D00AFE989 /* StoreManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StoreManager.swift; sourceTree = "<group>"; };
74FC576025ADED030003ED27 /* VaultCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VaultCell.swift; sourceTree = "<group>"; };
B330CB442CB5735000C21E03 /* UnauthorizedErrorViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UnauthorizedErrorViewController.swift; sourceTree = "<group>"; };
B3D19A432CB937BF00CD18A5 /* FileProviderCoordinatorError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FileProviderCoordinatorError.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
Expand Down Expand Up @@ -1214,7 +1214,6 @@
4AFBFA19282946BF00E30818 /* InMemoryProgressManagerTests.swift */,
4AB1D4EF27D20420009060AB /* LocalURLProviderTests.swift */,
4A0AA12C2ABA277800CF24FD /* PermissionProviderImplTests.swift */,
4AC1157727F5BEFD0023F51B /* Promise+AllIgnoringResultsTests.swift */,
4ADC66C427A7F6D6002E6CC7 /* UnlockMonitorTests.swift */,
4A4F47F224B875070033328B /* URL+NameCollisionExtensionTests.swift */,
4AE5196427F48D6600BA6E4A /* WorkflowDependencyFactoryTests.swift */,
Expand Down Expand Up @@ -1663,7 +1662,9 @@
4A9FCB0B251A02A3002A8B41 /* FileProviderExtensionUI.entitlements */,
4AA621EB249A6A8400A0BCBD /* Info.plist */,
4A6A521A268B7147006F7368 /* FileProviderCoordinator.swift */,
B3D19A432CB937BF00CD18A5 /* FileProviderCoordinatorError.swift */,
4A6A5218268B6D31006F7368 /* OnboardingViewController.swift */,
B330CB442CB5735000C21E03 /* UnauthorizedErrorViewController.swift */,
4A6A520C268B5EF7006F7368 /* RootViewController.swift */,
4A9BED65268F2D9C00721BAA /* UnlockVaultViewController.swift */,
4AFD8C0E269304A700F77BA6 /* UnlockVaultViewModel.swift */,
Expand Down Expand Up @@ -1926,7 +1927,6 @@
4AEE6EE02822A33400E1B35E /* NSFileProviderItemIdentifier+Database.swift */,
4A0AA12A2AB8DB1800CF24FD /* PermissionProvider.swift */,
4AEE6EE92825716400E1B35E /* ProgressManager.swift */,
4AC1157527F5BD890023F51B /* Promise+AllIgnoringResult.swift */,
4ADD233F26737CD400374E4E /* RootFileProviderItem.swift */,
4A7514A02937F777002E802E /* SessionTaskRegistrator.swift */,
4ADC66C027A7F426002E6CC7 /* UnlockMonitor.swift */,
Expand Down Expand Up @@ -2572,7 +2572,6 @@
4AB1C33C265E9DBC00DC7A49 /* CloudTaskExecutorTestCase.swift in Sources */,
4AE5196727F495BF00BA6E4A /* WorkflowDependencyTasksCollectionMock.swift in Sources */,
4A0AA12F2ABA2A1600CF24FD /* PermissionProviderMock.swift in Sources */,
4AC1157827F5BEFD0023F51B /* Promise+AllIgnoringResultsTests.swift in Sources */,
4AE5196527F48D6600BA6E4A /* WorkflowDependencyFactoryTests.swift in Sources */,
4A49FABE271ECDE80069A0CC /* ItemEnumerationTaskManagerTests.swift in Sources */,
4A248229266E2DD6002D9F59 /* FileProviderAdapterCreateDirectoryTests.swift in Sources */,
Expand Down Expand Up @@ -2670,6 +2669,8 @@
4A804082276952C300D7D999 /* FileProviderCoordinatorSnapshotMock.swift in Sources */,
4A9BED66268F2D9D00721BAA /* UnlockVaultViewController.swift in Sources */,
4A6A521B268B7147006F7368 /* FileProviderCoordinator.swift in Sources */,
B330CB452CB5735300C21E03 /* UnauthorizedErrorViewController.swift in Sources */,
B3D19A442CB937C700CD18A5 /* FileProviderCoordinatorError.swift in Sources */,
4A6A5219268B6D32006F7368 /* OnboardingViewController.swift in Sources */,
4AFD8C0F269304A700F77BA6 /* UnlockVaultViewModel.swift in Sources */,
);
Expand Down Expand Up @@ -2955,7 +2956,6 @@
4ADD234026737CD400374E4E /* RootFileProviderItem.swift in Sources */,
747F2F232587BC250072FB30 /* ItemMetadataDBManager.swift in Sources */,
4A511D47265FEFBE000A0E01 /* DownloadTask.swift in Sources */,
4AC1157627F5BD890023F51B /* Promise+AllIgnoringResult.swift in Sources */,
4A09E54E27071F4F0056D32A /* ErrorMapper.swift in Sources */,
4AEECD35279EB0FD00C6E2B5 /* FileProviderEnumerator.swift in Sources */,
4AE0D8DC2653DF1300DF5D22 /* DownloadTaskExecutor.swift in Sources */,
Expand Down Expand Up @@ -3320,7 +3320,7 @@
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
MARKETING_VERSION = 2.6.2;
MARKETING_VERSION = 2.6.3;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
Expand Down Expand Up @@ -3382,7 +3382,7 @@
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
MARKETING_VERSION = 2.6.2;
MARKETING_VERSION = 2.6.3;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
OTHER_SWIFT_FLAGS = "-Xfrontend -warn-long-expression-type-checking=200 -Xfrontend -warn-long-function-bodies=200";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
"kind" : "remoteSourceControl",
"location" : "https://github.com/openid/AppAuth-iOS.git",
"state" : {
"revision" : "71cde449f13d453227e687458144bde372d30fc7",
"version" : "1.6.2"
"revision" : "c89ed571ae140f8eb1142735e6e23d7bb8c34cb2",
"version" : "1.7.5"
}
},
{
Expand All @@ -32,8 +32,8 @@
"kind" : "remoteSourceControl",
"location" : "https://github.com/aws-amplify/aws-sdk-ios-spm.git",
"state" : {
"revision" : "8ff8bebfe24271f7b16c5abaeb78daf82bee3a80",
"version" : "2.34.2"
"revision" : "6e23b91609f9ddf988fda58bf711896a6062d4ff",
"version" : "2.35.0"
}
},
{
Expand Down Expand Up @@ -68,8 +68,8 @@
"kind" : "remoteSourceControl",
"location" : "https://github.com/cryptomator/cloud-access-swift.git",
"state" : {
"revision" : "2d8444001a4b2c2ccf396942fd78680eefa9dc52",
"version" : "1.11.3"
"revision" : "299be2306bc133b6eefbf18c172a1b5ed9808a44",
"version" : "1.12.1"
}
},
{
Expand All @@ -95,8 +95,8 @@
"kind" : "remoteSourceControl",
"location" : "https://github.com/leif-ibsen/Digest",
"state" : {
"revision" : "bb5de567a7b109a473ef5fddd3f02f1e5b9e2a41",
"version" : "1.7.0"
"revision" : "844a17be22efaa443130d081f2c4fa5f12c68e91",
"version" : "1.8.0"
}
},
{
Expand All @@ -122,26 +122,26 @@
"kind" : "remoteSourceControl",
"location" : "https://github.com/groue/GRDB.swift.git",
"state" : {
"revision" : "dd7e7f39e8e4d7a22d258d9809a882f914690b01",
"version" : "5.26.1"
"revision" : "2cf6c756e1e5ef6901ebae16576a7e4e4b834622",
"version" : "6.29.3"
}
},
{
"identity" : "gtm-session-fetcher",
"kind" : "remoteSourceControl",
"location" : "https://github.com/google/gtm-session-fetcher.git",
"state" : {
"revision" : "d415594121c9e8a4f9d79cecee0965cf35e74dbd",
"version" : "3.1.1"
"revision" : "a2ab612cb980066ee56d90d60d8462992c07f24b",
"version" : "3.5.0"
}
},
{
"identity" : "gtmappauth",
"kind" : "remoteSourceControl",
"location" : "https://github.com/google/GTMAppAuth.git",
"state" : {
"revision" : "41aba100f28395ebe842cd66e5d371cdd46c6792",
"version" : "4.0.0"
"revision" : "5d7d66f647400952b1758b230e019b07c0b4b22a",
"version" : "4.1.1"
}
},
{
Expand All @@ -158,8 +158,8 @@
"kind" : "remoteSourceControl",
"location" : "https://github.com/AzureAD/microsoft-authentication-library-for-objc.git",
"state" : {
"revision" : "d2f81ded070ac6452b2a6acb5bc45eb566427fe7",
"version" : "1.3.3"
"revision" : "b8733236bfd16e10849f4752a4d1c4621e4bf930",
"version" : "1.5.0"
}
},
{
Expand Down
8 changes: 4 additions & 4 deletions Cryptomator/Common/CloudAccountList/AccountListPosition.swift
Original file line number Diff line number Diff line change
Expand Up @@ -20,17 +20,17 @@ extension AccountListPosition: FetchableRecord, MutablePersistableRecord {
static let databaseSelection: [SQLSelectable] = [AllColumns(), Column.rowID]
static let account = belongsTo(CloudProviderAccount.self)

mutating func didInsert(with rowID: Int64, for column: String?) {
id = rowID
mutating func didInsert(_ inserted: InsertionSuccess) {
id = inserted.rowID
}

init(row: Row) {
init(row: Row) throws {
self.id = row[Column.rowID]
self.position = row[Columns.position]
self.accountUID = row[Columns.accountUID]
}

func encode(to container: inout PersistenceContainer) {
func encode(to container: inout PersistenceContainer) throws {
container[Column.rowID] = id
container[Columns.position] = position
container[Columns.accountUID] = accountUID
Expand Down
2 changes: 1 addition & 1 deletion Cryptomator/Common/DatabaseManager.swift
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ class DatabaseManager {
let observation = ValueObservation
.tracking { db in try Row.fetchAll(db, request) }
.removeDuplicates()
.map { rows in rows.map(AccountWithDisplayName.init(row:)) }
.map { rows in try rows.map(AccountWithDisplayName.init(row:)) }
.map { annotatedAccounts in annotatedAccounts.map(\.account) }
return observation.start(in: database, scheduling: .immediate, onError: onError, onChange: onChange)
}
Expand Down
4 changes: 0 additions & 4 deletions Cryptomator/Snapshots/SnapshotCoordinator.swift
Original file line number Diff line number Diff line change
Expand Up @@ -100,10 +100,6 @@ private class SnapshotVaultLockingMock: VaultLocking {
reply(true)
}

func getUnlockedVaultDomainIdentifiers(reply: @escaping ([NSFileProviderDomainIdentifier]) -> Void) {
fatalError()
}

var serviceName: NSFileProviderServiceName = .init("org.cryptomator.ios.vault-locking")

func makeListenerEndpoint() throws -> NSXPCListenerEndpoint {
Expand Down
7 changes: 1 addition & 6 deletions Cryptomator/VaultList/VaultCellViewModel.swift
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ protocol VaultCellViewModelProtocol: TableViewCellViewModel, ViewModel {
var vault: VaultInfo { get }
var lockButtonIsHidden: AnyPublisher<Bool, Never> { get }
func lockVault() -> Promise<Void>
func setVaultUnlockStatus(unlocked: Bool)
}

class VaultCellViewModel: TableViewCellViewModel, VaultCellViewModelProtocol {
Expand Down Expand Up @@ -46,18 +45,14 @@ class VaultCellViewModel: TableViewCellViewModel, VaultCellViewModelProtocol {
return getXPCPromise.then { xpc in
xpc.proxy.lockVault(domainIdentifier: domainIdentifier)
}.then {
self.setVaultUnlockStatus(unlocked: false)
self.vault.vaultIsUnlocked.value = false
}.catch { error in
self.errorPublisher.send(error)
}.always {
self.fileProviderConnector.invalidateXPC(getXPCPromise)
}
}

func setVaultUnlockStatus(unlocked: Bool) {
vault.vaultIsUnlocked.value = unlocked
}

override func hash(into hasher: inout Hasher) {
hasher.combine(vault.vaultUID)
}
Expand Down
8 changes: 4 additions & 4 deletions Cryptomator/VaultList/VaultListPosition.swift
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,17 @@ struct VaultListPosition: Codable {
extension VaultListPosition: FetchableRecord, MutablePersistableRecord {
static let databaseSelection: [SQLSelectable] = [AllColumns(), Column.rowID]

mutating func didInsert(with rowID: Int64, for column: String?) {
id = rowID
mutating func didInsert(_ inserted: InsertionSuccess) {
id = inserted.rowID
}

init(row: Row) {
init(row: Row) throws {
self.id = row[Column.rowID]
self.position = row[Columns.position]
self.vaultUID = row[Columns.vaultUID]
}

func encode(to container: inout PersistenceContainer) {
func encode(to container: inout PersistenceContainer) throws {
container[Column.rowID] = id
container[Columns.position] = position
container[Columns.vaultUID] = vaultUID
Expand Down
31 changes: 15 additions & 16 deletions Cryptomator/VaultList/VaultListViewModel.swift
Original file line number Diff line number Diff line change
Expand Up @@ -104,24 +104,23 @@ class VaultListViewModel: ViewModel, VaultListViewModelProtocol {
}

func refreshVaultLockStates() -> Promise<Void> {
let getXPCPromise: Promise<XPC<VaultLocking>> = fileProviderConnector.getXPC(serviceName: .vaultLocking, domain: nil)
let promises = vaultCellViewModels.map { vaultCellViewModel in
return checkVaultUnlockStatus(for: vaultCellViewModel.vault)
}
return all(ignoringResult: promises)
}

private func checkVaultUnlockStatus(for vault: VaultInfo) -> Promise<Void> {
let domainIdentifier = NSFileProviderDomainIdentifier(vault.vaultUID)
let getXPCPromise: Promise<XPC<VaultLocking>> = fileProviderConnector.getXPC(serviceName: .vaultLocking, domainIdentifier: domainIdentifier)

return getXPCPromise.then { xpc in
return wrap { handler in
xpc.proxy.getUnlockedVaultDomainIdentifiers(reply: handler)
}
}.then { unlockedVaultDomainIdentifiers -> Void in
for domainIdentifier in unlockedVaultDomainIdentifiers {
let vaultInfo = self.vaultCellViewModels.first { $0.vault.vaultUID == domainIdentifier.rawValue }
vaultInfo?.setVaultUnlockStatus(unlocked: true)
}
self.vaultCellViewModels.filter { vaultCellViewModel in
unlockedVaultDomainIdentifiers.allSatisfy { domainIdentifier in
vaultCellViewModel.vault.vaultUID != domainIdentifier.rawValue
}
}.forEach { vaultCellViewModel in
vaultCellViewModel.setVaultUnlockStatus(unlocked: false)
}
return xpc.proxy.getIsUnlockedVault(domainIdentifier: domainIdentifier)
}.then { isUnlocked -> Void in
DDLogDebug("Vault \(vault.vaultUID) unlock status: \(isUnlocked ? "Unlocked" : "Locked")")
vault.vaultIsUnlocked.value = isUnlocked
}.catch { error in
DDLogError("Failed to check unlock status for vault \(vault.vaultUID): \(error)")
}.always {
self.fileProviderConnector.invalidateXPC(getXPCPromise)
}
Expand Down
4 changes: 2 additions & 2 deletions CryptomatorCommon/Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,11 @@ let package = Package(
)
],
dependencies: [
.package(url: "https://github.com/cryptomator/cloud-access-swift.git", .upToNextMinor(from: "1.11.0")),
.package(url: "https://github.com/cryptomator/cloud-access-swift.git", .upToNextMinor(from: "1.12.0")),
.package(url: "https://github.com/CocoaLumberjack/CocoaLumberjack.git", .upToNextMinor(from: "3.8.0")),
.package(url: "https://github.com/PhilLibs/simple-swift-dependencies", .upToNextMajor(from: "0.1.0")),
.package(url: "https://github.com/siteline/SwiftUI-Introspect.git", .upToNextMajor(from: "0.3.0")),
.package(url: "https://github.com/leif-ibsen/SwiftECC", from: "5.0.0")
.package(url: "https://github.com/leif-ibsen/SwiftECC", .upToNextMinor(from: "5.3.0"))
],
targets: [
.target(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,14 @@ private enum CryptomatorDatabaseKey: DependencyKey {
static let liveValue: DatabaseWriter = CryptomatorDatabase.live

static var testValue: DatabaseWriter {
let inMemoryDB = DatabaseQueue(configuration: .defaultCryptomatorConfiguration)
do {
let inMemoryDB = try DatabaseQueue(configuration: .defaultCryptomatorConfiguration)
try CryptomatorDatabase.migrator.migrate(inMemoryDB)
return inMemoryDB
} catch {
DDLogError("Failed to migrate in-memory database: \(error)")
DDLogError("Failed to initialize in-memory database: \(error)")
fatalError("Failed to initialize in-memory database")
}
return inMemoryDB
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ import Promises
func lockVault(domainIdentifier: NSFileProviderDomainIdentifier)
func gracefulLockVault(domainIdentifier: NSFileProviderDomainIdentifier, reply: @escaping (Error?) -> Void)
func getIsUnlockedVault(domainIdentifier: NSFileProviderDomainIdentifier, reply: @escaping (Bool) -> Void)
func getUnlockedVaultDomainIdentifiers(reply: @escaping ([NSFileProviderDomainIdentifier]) -> Void)
}

public extension NSFileProviderServiceName {
Expand All @@ -41,10 +40,4 @@ public extension VaultLocking {
self.getIsUnlockedVault(domainIdentifier: domainIdentifier, reply: replyHandler)
}
}

func getUnlockedVaultDomainIdentifiers() -> Promise<[NSFileProviderDomainIdentifier]> {
return wrap { replyHandler in
self.getUnlockedVaultDomainIdentifiers(reply: replyHandler)
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ private struct HubVaultRow: Codable, Equatable, PersistableRecord, FetchableReco
case vaultUID, subscriptionState
}

public func encode(to container: inout PersistenceContainer) {
public func encode(to container: inout PersistenceContainer) throws {
container[Columns.vaultUID] = vaultUID
container[Columns.subscriptionState] = subscriptionState
}
Expand Down
Loading

0 comments on commit d2d1825

Please sign in to comment.