Repository navigation
Fix CFBundleExecutable to match the renamed macOS target - #16
Merged
Merged
Conversation
app.pro renamed the macOS build target from "Moonlight" to "MoonlightVibe" in 71009e9 (2026-05-01), but Info.plist's CFBundleExecutable was never updated and still names "Moonlight" - upstream's original value, untouched since e596c2d. The real compiled binary has been "MoonlightVibe" in every fork release since. macdeployqt resolves the bundle's main executable via CFBundleExecutable, so it's been looking for Contents/MacOS/Moonlight, which has never existed - confirmed directly in CI logs: macdeployqt's first action on this bundle is "ERROR: Could not find bundle binary", immediately followed by a cascade of "Cannot resolve rpath" for essentially every Qt framework, because framework deployment never successfully ran against the (unfound) real binary. Upstream's own current CI has neither error. This is the most likely actual cause of #13 ("damaged or incomplete" on macOS) - a structurally incomplete bundle, independent of and pre-dating the ad-hoc-signing fix in #14/v6.3.7, which did not resolve the reporter's symptom because it signed an already-broken bundle. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes the actual structural defect behind #13, which the ad-hoc-signing fix in #14 did not address (RageMC confirmed v6.3.7 still failed with the identical "damaged or incomplete" error).
Real root cause:
app.prorenamed the macOS build target fromMoonlighttoMoonlightVibeback in71009e96(2026-05-01), butapp/Info.plist'sCFBundleExecutablewas never updated — it's been upstream's originalMoonlightvalue, untouched, in every fork release since.macdeployqtresolves a bundle's main executable throughCFBundleExecutable, so it's been looking forContents/MacOS/Moonlight, which has never existed. Confirmed directly in CI logs:macdeployqt's first action has always beenERROR: Could not find bundle binary, immediately cascading intoCannot resolve rpathfor essentially every Qt framework — because framework deployment never successfully ran. Upstream's own current CI has neither error.Fix: one line,
CFBundleExecutable→MoonlightVibe, matchingapp.pro.Verified, not just "CI passed": manually dispatched the real macOS build against this branch. Both error signatures are completely gone from the log (0 occurrences each). The codesign step now correctly references
Contents/MacOS/MoonlightVibeand processes an actual embedded framework. The resulting artifact is 78.7MB vs. 35.4MB for the identical v6.3.7 content before — consistent with the bundle's Qt frameworks actually being copied in for the first time, rather than the deploy step silently failing to populate them.What this still doesn't prove: that the app actually launches cleanly on a real Mac. The ad-hoc-signing fix also looked solid from CI and wasn't — that's exactly why this needs RageMC's test before we treat #13 as closed, not another assumption from a green build.
Merge with Merge commit (never squash, per this repo's convention).
🤖 Generated with Claude Code