Repository navigation
Fix Fleet Dashboard uptime zeros and card-header hover reflow - #73
Merged
Merged
Conversation
Uptime Distribution showed all zeros on agents that do not report the Host Resources hrSystemUptime (.25.1.1.0); fall back to SNMP sysUpTime (sysUptime) in the fleet stats aggregation and in the per-device Dashboard system card. The drag handle and tool buttons in the Dashboard card header carried a 0-width border, so the theme's button hover border added 1px and grew the header. Give them a transparent 1px border with border-box sizing (kept transparent on hover/focus) and set a header min-height so hovering no longer reflows it.
TheWitness
requested review from
bmfmancini and
xmacan
and
a balanced review from Copilot
October 11, 2026 21:04
There was a problem hiding this comment.
🟡 Changes recommended
The header’s content-box minimum height unintentionally enlarges every card header to at least 49px.
1 open finding
What changed in this PR
Fixes dashboard uptime fallback behavior and stabilizes card-header sizing.
Changes:
- Falls back from
hrSystemUptimetosysUpTime. - Reserves button-border space to prevent hover reflow.
- Documents both fixes in the changelog.
| File | Description |
|---|---|
hmib.php |
Adds uptime fallback for device and fleet dashboards. |
css/hmib.css |
Stabilizes dashboard header controls on hover. |
CHANGELOG.md |
Records both dashboard fixes. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
…udes padding/border
bmfmancini
previously approved these changes
Oct 12, 2026
xmacan
previously approved these changes
Oct 12, 2026
…d-uptime-hover # Conflicts: # CHANGELOG.md # css/hmib.css
xmacan
approved these changes
Oct 12, 2026
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.

Summary
Two fixes to the HMIB Fleet (Summary) Dashboard (and the per-device Dashboard where the same code is shared).
1. Uptime Distribution showed all zeros
The uptime cards read the Host Resources
hrSystemUptimeOID (.1.3.6.1.2.1.25.1.1.0, stored in theuptimecolumn). Many SNMP agents do not implement that object and report0, even though they serve the standardsysUpTime(.1.3.6.1.2.1.1.3.0, stored insysUptime). The dashboards now fall back tosysUptimewhenuptimeis0:hmib_summary_stats()min/avg/max uptime aggregation usesIF(uptime > 0, uptime, sysUptime).When
hrSystemUptimeis reported, behavior is unchanged.2. Card header grew on hover
The drag handle (
fa-bars) and the tool buttons in the Dashboard card header are<button>s withborder: 0. The theme'sbutton:hoveradds a 1px gradient border, which enlarged the button and reflowed the header height. They now carry a transparent1pxborder withbox-sizing: border-box(kept transparent on hover/focus), and the header has amin-height, so hovering no longer changes its size — matching the approach used elsewhere.Notes
locales/po/cacti.potis unchanged. No new files, somanifest.jsonis unchanged.php -lclean; CSS braces balanced; files remain LF-only.develop.