Fix menubar showing "all green" when brew fails due to Xcode license error #215
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.
The Sparkdock menubar app was incorrectly displaying green "up to date" status for all managed stacks when
brew outdated
commands failed due to Xcode license not being accepted. This gave users the false impression that no updates were available when in reality the license issue was preventing proper update detection.Problem
When the Xcode license has not been accepted, brew commands fail with:
The menubar app treated this as a generic failure and returned 0 (no updates), causing the UI to show:
Meanwhile, actual updates like http-proxy were available but users had no indication of system issues preventing proper detection.
Solution
Enhanced error handling to distinguish between genuine "no updates" states and license-related failures:
hasBrewLicenseError
property to track license issues independentlyChanges
Example
Before this fix, when
brew outdated
failed due to license issues:After this fix:
Fixes #214.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.