diff --git a/BusyMirror.xcodeproj/project.pbxproj b/BusyMirror.xcodeproj/project.pbxproj index 0592ac4..e3fe770 100644 --- a/BusyMirror.xcodeproj/project.pbxproj +++ b/BusyMirror.xcodeproj/project.pbxproj @@ -410,7 +410,7 @@ "CODE_SIGN_IDENTITY[sdk=macosx*]" = "-"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 5; + CURRENT_PROJECT_VERSION = 6; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = BusyMirror/Info.plist; @@ -421,7 +421,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.2.3; + MARKETING_VERSION = 1.2.4; PRODUCT_BUNDLE_IDENTIFIER = com.cqrenet.BusyMirror; PRODUCT_NAME = "$(TARGET_NAME)"; REGISTER_APP_GROUPS = YES; @@ -440,7 +440,7 @@ "CODE_SIGN_IDENTITY[sdk=macosx*]" = "-"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 5; + CURRENT_PROJECT_VERSION = 6; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = BusyMirror/Info.plist; @@ -451,7 +451,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 1.2.3; + MARKETING_VERSION = 1.2.4; PRODUCT_BUNDLE_IDENTIFIER = com.cqrenet.BusyMirror; PRODUCT_NAME = "$(TARGET_NAME)"; REGISTER_APP_GROUPS = YES; diff --git a/BusyMirror/ContentView.swift b/BusyMirror/ContentView.swift index 630c7ad..26132b3 100644 --- a/BusyMirror/ContentView.swift +++ b/BusyMirror/ContentView.swift @@ -550,7 +550,7 @@ struct ContentView: View { } } } - .disabled(isRunning || targetSelections.isEmpty || calendars.isEmpty) + .disabled(isRunning || calendars.isEmpty || (routes.isEmpty && targetSelections.isEmpty)) Button("Cleanup Placeholders") { if writeEnabled { diff --git a/CHANGELOG.md b/CHANGELOG.md index d9e0109..547f0fa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,11 @@ # Changelog +# Changelog All notable changes to BusyMirror will be documented in this file. +## [1.2.4] - 2025-10-10 +- Fix: enable “Mirror Now” when Routes are defined even if no Source/Targets are checked in the main window. Button now enables if either routes exist or a manual selection is present. + ## [1.2.3] - 2025-10-10 - Fix: reliably save and restore settings between runs via autosave of key options and restoration of source/target selections by persistent IDs. - UX: persist Source and Target selections; rebuild indices on launch so UI matches saved IDs. @@ -15,4 +19,3 @@ All notable changes to BusyMirror will be documented in this file. ## [1.2.0] - 2024-09-29 - Feature: multi-route mirroring, overlap modes, merge gaps, work hours filter, CLI support, export/import settings. - diff --git a/ReleaseNotes-1.2.4.md b/ReleaseNotes-1.2.4.md new file mode 100644 index 0000000..554b414 --- /dev/null +++ b/ReleaseNotes-1.2.4.md @@ -0,0 +1,11 @@ +# BusyMirror 1.2.4 — 2025-10-10 + +Bugfix release improving route-driven mirroring. + +Fixes +- Mirror Now is enabled when routes are defined, even if nothing is checked in the main window. This allows fully route-driven runs without requiring a temporary manual selection. + +Build +- `make build-release` +- `make package` → BusyMirror-1.2.4-macOS.zip and .sha256 +