Adopt LumaControl bundle identity and start the 1.0.0 line - #3
Conversation
Finish the LumaControl migration by renaming the bundle identifiers and starting a clean 1.x version line. - PRODUCT_BUNDLE_IDENTIFIER: com.shay2000.XDRMonitorControl -> com.shay2000.LumaControl, for the app, Helper and Tests targets. The Helper target keeps its "Helper" suffix, which MonitorControlHelper/main.swift and AppDelegate derive at runtime by stripping/appending that suffix. - MARKETING_VERSION 0.3.0 -> 1.0.0, CFBundleVersion 39 -> 1. - Issue templates now reference v1.0.0. Deliberately left alone: - SUPublicEDKey is unchanged. Rotating it would permanently break updates for every installed copy. - SUFeedURL already points at shay2000/LumaControl. - MIT copyright and attribution in License.txt and NSHumanReadableCopyright. - Dated historical records (HANDOFF.md, build14/build21 reports) still describe the app by the name it had at the time.
Greptile SummaryUpdates the application, helper, and test bundle identifiers to the LumaControl identity and begins the 1.0.0 marketing-version line.
Confidence Score: 5/5The PR appears safe to merge because the bundle identities are consistently updated and the corrected build number preserves Sparkle update ordering. No actionable new issue remains. The previous build-number thread was manually resolved without an explanatory reply, and the current value of 45 fully fixes the reported regression by remaining above published build 39.
|
| Filename | Overview |
|---|---|
| MonitorControl.xcodeproj/project.pbxproj | Updates app, helper, and test bundle identifiers and sets app and helper marketing versions to 1.0.0. |
| MonitorControl/Info.plist | Raises the application build number to 45, preserving update ordering. |
| MonitorControlHelper/Info.plist | Keeps the helper build number aligned with the application at 45. |
| .github/ISSUE_TEMPLATE/bug_report.yml | Updates the example reported application version to v1.0.0. |
| .github/ISSUE_TEMPLATE/monitor-issue.yml | Updates the monitor issue template’s example application version to v1.0.0. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart LR
App["LumaControl.app<br/>com.shay2000.LumaControl<br/>1.0.0 (45)"]
Helper["MonitorControlHelper.app<br/>com.shay2000.LumaControlHelper<br/>1.0.0 (45)"]
Tests["MonitorControlTests<br/>com.shay2000.LumaControlTests"]
App -->|registers login item by appending Helper| Helper
Helper -->|locates app by removing Helper| App
Tests -->|tests| App
Reviews (2): Last reviewed commit: "Keep CFBundleVersion above every publish..." | Re-trigger Greptile
Greptile correctly flagged that resetting CFBundleVersion 39 -> 1 puts 1.0.0 below the published build 39, so Sparkle would treat it as older and never offer the update: the release workflow copies CFBundleVersion into <sparkle:version>, which is what Sparkle orders by. Using 45 rather than the suggested 40 because the local dev install is build 44, so anything <= 44 would still compare as not-newer. Marketing version stays 1.0.0.
|
Fixed in 3878bd1 — raised Greptile suggested 40, which is correct against the published build 39. I went to 45 because the local dev install is build 44, so anything ≤ 44 would still compare as not-newer and Sparkle would skip it. |
What
Completes the LumaControl migration. The visible rename (README, UI strings, all localization files, install script, repo name, appcast) already landed in
542e00c/ v0.3.0. What remained was the internal identity:com.shay2000.XDRMonitorControlcom.shay2000.LumaControlcom.shay2000.XDRMonitorControlHelpercom.shay2000.LumaControlHelpercom.shay2000.XDRMonitorControlTestscom.shay2000.LumaControlTests0.3.01.0.0391The
Helpersuffix is load-bearing:MonitorControlHelper/main.swiftstrips"Helper"off its own bundle ID to find the app, andAppDelegateappends it when registering the login item. Both keep working with no code change.Verified
xcodebuild test— TEST SUCCEEDED, 14/14. The built app reportscom.shay2000.LumaControl/1.0.0, with the helper embedded atContents/Library/LoginItems/MonitorControlHelper.appand identifying ascom.shay2000.LumaControlHelper.Deliberately not changed
SUPublicEDKey— rotating it would permanently break Sparkle updates for every installed copy.SUFeedURL— already points atshay2000/LumaControl.License.txtandNSHumanReadableCopyright— required by the license.HANDOFF.md,build14-changes.html,build21-permissions.html) and the comment inSettingsPanesTests.swift— these describe the app by the name it actually had at the time; rewriting them would falsify the record.Reviewer notes
v1.0…v4.3.3) were deleted locally. They were never pushed, so origin is unaffected and still carries onlyv0.1.0,v0.2.0,v0.3.0.SMLoginItemSetEnabledlogin item must be re-established under the new bundle ID, and saved preferences move to the new defaults domain.