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.
17 lines
493 B
Swift
17 lines
493 B
Swift
import Foundation
|
|
|
|
nonisolated struct MobileWorkspaceDescriptor: Codable, Hashable, Identifiable, Sendable {
|
|
enum Kind: String, Codable, CaseIterable, Sendable {
|
|
case ssh, sftp
|
|
var title: String { self == .ssh ? "SSH" : "SFTP" }
|
|
var symbol: String { self == .ssh ? "terminal" : "folder" }
|
|
}
|
|
|
|
var id = UUID()
|
|
var hostID: UUID
|
|
var title: String
|
|
var kind: Kind
|
|
|
|
var destinationURL: URL { WorkspaceActivityAttributes.destinationURL(for: id) }
|
|
}
|