4.1.0 - #100
Merged
Merged
4.1.0#100
Conversation
Extends the Uptime check with a Maximum uptime setting. This allows uptime to show as warning after 7 days for example, and show a failure after 30 days. The Maximum uptime can be turned off if desired by setting the value as `maxUptimeMinutes=""`
Added suggested additional checks and fixes to the checkUptime() function
Updated 'checkUptime()' with new functionality (thanks for PR #96, @HowardGMac)
Updated the system call that is used to check for staged macOS updates to prevent a possible conflict if Time Machine is ever blocked.
….com/HowardGMac/Mac-Health-Check into HowardGMac-4.0.0-macos-update-check-enhancement
There was a problem hiding this comment.
Pull request overview
Updates Mac Health Check to version 4.1.0, refining macOS compliance detection and the Inspect Summary UX while improving reliability of staged-update discovery and extending uptime policy support.
Changes:
- Adjusts Bluetooth Sharing detection to treat macOS 27 “missing domain” output as the disabled default.
- Updates Inspect Mode Preset 6 launch behavior (always-on-top + moveable) and increases inspect window height.
- Reworks staged update snapshot detection to use
diskutil apfs listsnapshotswith a timeout-based wrapper, and extendscheckUptime()with max-uptime functionality.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 6 comments.
| File | Description |
|---|---|
| README.md | Bumps documented version/feature notes and updates Development-mode example snippet. |
| Mac-Health-Check.zsh | Implements 4.1.0 behavior changes: Inspect Summary options, staged-update snapshot detection hardening, uptime max-threshold logic, and Bluetooth Sharing detection updates. |
| CHANGELOG.md | Adds 4.1.0 release notes covering the above changes. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 4 out of 4 changed files in this pull request and generated no new comments.
Suppressed comments (3)
Mac-Health-Check.zsh:6678
excessiveUptimeAlertStyle="error"appears to be a supported/intentional configuration, but the warning text currently labels it as an “Error in configuration” and suggests it should be “warning”. If the intent is simply thatmaxUptimeMinutesis ignored when alert style iserror, the log message should describe that behavior (without implying the user made a mistake).
elif [[ "${excessiveUptimeAlertStyle}" == "error" ]]; then
warning "${humanReadableCheckName}: Error in configuration: Variable excessiveUptimeAlertStyle is set to error instead of warning. Maximum uptime check disabled."
effectiveMaxUptimeMinutes=""
README.md:7
- The README now references 4.1.0, but the hero image still points to a version-specific 4.0.0 screenshot, which can confuse readers. Consider switching to the version-agnostic hero image (or updating screenshots) so the header/version and imagery stay consistent.
# Mac Health Check (4.1.0)
> Mac Health Check 4.1.0 sharpens macOS compliance reporting with smarter Bluetooth Sharing detection, safer staged-update checks, richer uptime insight and a more user-friendly reporting summary
<img src="images/MHC_4.0.0.png" alt="Mac Health Check Hero" width="800"/>
Mac-Health-Check.zsh:401
- This comment is a bit ambiguous:
excessiveUptimeAlertStyle="error"is otherwise presented as a valid option, but here it’s described as disabling max uptime without clarifying the interaction. Rewording it to explicitly say thatmaxUptimeMinutesis ignored when alert style iserrorwould make configuration behavior clearer.
This issue also appears on line 6676 of the same file.
# Should excessive uptime result in a "warning" or "error" ?
# Setting this to error will disable the max uptime check above
excessiveUptimeAlertStyle="warning"
Owner
Author
|
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.
4.1.0 (17-Aug-2026)
checkBluetoothSharing()to recognize the macOS 27 missing-domain response as the disabled default, preventing false-positive Bluetooth Sharing findings while preserving enabled-state detection on macOS 26 and macOS 27diskutilwith timeout-safe fallback behavior (thanks for PR Update staged macOS update check #99, @HowardGMac!)checkUptime()with new functionality (thanks for PR Update checkuptime function with new functionality #96, @HowardGMac!)checkUptime()