Release 1.4.0
Fixes: - Sandbox: add LaunchAgent temporary-exception entitlement - Mirror URL: fix broken buildMirrorURL (URLComponents with ; separator) - Cleanup: add bounds check to prevent crash on missing source - State safety: pass MirrorConfig instead of mutating global @State - KVC: remove misleading do-catch around setValue:forKey: - Log cap: limit in-memory log to 2000 lines - CLI: fix race with calendar loading - launchCtl: separate stdout/stderr pipes Features: - Cancel button for long-running mirrors - Progress indicator for multi-route runs (Route X of Y) - Target event cache across routes Code quality: - Extract BlockMath, MirrorUtils, EventFilters, MirrorConfig - Add 45 unit tests across 3 test files - Refactor mergeGapMin to computed property - Make log editor read-only Build: - Bump version to 1.4.0 (build 18) - Add LSMinimumSystemVersion 15.5
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
import Foundation
|
||||
import EventKit
|
||||
|
||||
struct MirrorConfig {
|
||||
let daysBack: Int
|
||||
let daysForward: Int
|
||||
let mergeGapMin: Int
|
||||
let hideDetails: Bool
|
||||
let copyDescription: Bool
|
||||
let markPrivate: Bool
|
||||
let mirrorAllDay: Bool
|
||||
let overlapMode: OverlapMode
|
||||
let titlePrefix: String
|
||||
let placeholderTitle: String
|
||||
let filterByWorkHours: Bool
|
||||
let workHoursStart: Int
|
||||
let workHoursEnd: Int
|
||||
let excludedTitleFilterTerms: [String]
|
||||
let excludedOrganizerFilterTerms: [String]
|
||||
let mirrorAcceptedOnly: Bool
|
||||
let autoDeleteMissing: Bool
|
||||
let writeEnabled: Bool
|
||||
}
|
||||
Reference in New Issue
Block a user