Share Vault, persistence, SSH/SFTP, forwarding, and SwiftUI components across platforms. Add mobile editors, terminal input, standalone Assistant, Metrics navigation, transfers, and a unified Live Activity with host system icons. Validation: 35 iOS tests and 100 focused macOS tests pass; formatting and zh-Hans checks pass. The full macOS run reports 14 issues in the documented timing, Keychain, and popover suites. Remaining Assistant tool and CloudKit work is tracked in Memory/MOBILE_ROLLOUT.md.
19 lines
340 B
Swift
19 lines
340 B
Swift
import SwiftData
|
|
|
|
@MainActor
|
|
extension ModelContext {
|
|
public func savePendingChanges() throws {
|
|
try commit {}
|
|
}
|
|
|
|
public func commit(_ operation: () throws -> Void) throws {
|
|
do {
|
|
try operation()
|
|
try save()
|
|
} catch {
|
|
rollback()
|
|
throw error
|
|
}
|
|
}
|
|
}
|