Add DDNS health indicator to single-station dashboard status bar#20
Merged
Conversation
Render the tri-state DDNS record health reported by the station server in the single-station status bar, below the IP line: MATCH -> green check (resolves to the station's current IP) MISMATCH -> red cross (resolves, but to a different/stale IP) UNKNOWN -> grey question (could not resolve: NXDOMAIN, timeout, no FQDN) The line is omitted entirely when the server reports no DDNS information (the multi-station dashboard path and older servers do not send these fields), so the change degrades safely against an un-bumped backend. The fields (ddns_hostname / ddns_resolved_ip / ddns_status) are produced by the backend counterpart in halter-corp/hardware-test-framework#1567. NOTE: the committed dist/ bundle is NOT regenerated in this commit. The Angular 4 / webpack 3 / node-sass 7 toolchain could not be built in the authoring environment (Node 25 / Python 3.12 lacks distutils, node-sass native build fails). Run "npm install && npm run build" in web_gui with a compatible Node before deploying, and commit the regenerated dist/. See the accompanying APPLY.md. Co-Authored-By: clank-halter[bot] <2696940+clank-halter[bot]@users.noreply.github.com> Clank-Job-Id: 6ae51244-e605-4ce0-9e50-ebf172b7b87d
Coverage Report for CI Build 26619946790Warning No base build found for commit Coverage: 61.766%Details
Uncovered ChangesNo uncovered changes found. Coverage RegressionsRequires a base build to compare against. How to fix this → Coverage Stats
💛 - Coveralls |
The web_ui job used setup-node without a version, picking up the runner's default (now Node 22). node-sass@7 can't compile its native addon on Node >= 18, so npm install failed. Pin Node 16 to unblock CI. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
kurtmc
added a commit
that referenced
this pull request
May 29, 2026
* Add DDNS health indicator to single-station dashboard status bar Render the tri-state DDNS record health reported by the station server in the single-station status bar, below the IP line: MATCH -> green check (resolves to the station's current IP) MISMATCH -> red cross (resolves, but to a different/stale IP) UNKNOWN -> grey question (could not resolve: NXDOMAIN, timeout, no FQDN) The line is omitted entirely when the server reports no DDNS information (the multi-station dashboard path and older servers do not send these fields), so the change degrades safely against an un-bumped backend. The fields (ddns_hostname / ddns_resolved_ip / ddns_status) are produced by the backend counterpart in halter-corp/hardware-test-framework#1567. NOTE: the committed dist/ bundle is NOT regenerated in this commit. The Angular 4 / webpack 3 / node-sass 7 toolchain could not be built in the authoring environment (Node 25 / Python 3.12 lacks distutils, node-sass native build fails). Run "npm install && npm run build" in web_gui with a compatible Node before deploying, and commit the regenerated dist/. See the accompanying APPLY.md. Co-Authored-By: clank-halter[bot] <2696940+clank-halter[bot]@users.noreply.github.com> Clank-Job-Id: 6ae51244-e605-4ce0-9e50-ebf172b7b87d * Pin Node 16 in web_ui CI job so node-sass can build The web_ui job used setup-node without a version, picking up the runner's default (now Node 22). node-sass@7 can't compile its native addon on Node >= 18, so npm install failed. Pin Node 16 to unblock CI. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> --------- Co-authored-by: kurtmc <2661907+kurtmc@users.noreply.github.com> Co-authored-by: clank-halter[bot] <2696940+clank-halter[bot]@users.noreply.github.com> Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
kurtmc
added a commit
that referenced
this pull request
May 29, 2026
Commit 3214561 (#20) added the single-station DDNS indicator source but could not regenerate the committed dist/ bundle (the Angular 4 / webpack 3 / node-sass 7 toolchain needs Node 16), so the served bundle still ran the pre-DDNS JS and the indicator never rendered on the station. Rebuilt dist/ under Node 16 (npm install --ignore-scripts && npm rebuild node-sass && npm run build). New bundle hash 2fc68a8 now contains the ddnsStatus / ddns-indicator rendering. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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
ddns_hostname/ddns_resolved_ip/ddns_statusfields from the server throughDashboardServiceinto theStationmodel; missing values keep the UI silent for older servers and the multi-station path.Test plan
ng testpasses (station + station-service specs updated for the new model fields).🤖 Generated with Claude Code