Answer "signed out" vs "never ran" in one read; make SnapshotTheme constructible
Signing out deletes the cached events — keeping them would leak the previous user's calendar to anything reading the container — so an absent cache alone cannot distinguish "signed out" from "Calendarr has never run on this machine". Those need different messages, so read() now falls back to the session record and reports .loggedOut when one exists and says so. Every consumer would otherwise have to reimplement that two-step, and any that forgot would tell a signed-out user to go install an app they already have. SnapshotTheme only had the compiler's internal memberwise initializer, so no consumer outside the package could actually build one.
This commit is contained in:
@@ -79,6 +79,12 @@ public struct SnapshotTheme: Sendable, Hashable {
|
||||
public let line: String
|
||||
public let primary: String
|
||||
public let accent: String
|
||||
|
||||
public init(today: String, text: String, background: String,
|
||||
line: String, primary: String, accent: String) {
|
||||
self.today = today; self.text = text; self.background = background
|
||||
self.line = line; self.primary = primary; self.accent = accent
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - Snapshot
|
||||
|
||||
Reference in New Issue
Block a user