feat(messages): add telemetry time-range selector to Node Details#3530
Conversation
The Node Details panel's telemetry graphs were locked to the fixed telemetryVisualizationHours window (24h by default), so older history (e.g. environment readings more than a day old) couldn't be viewed there even when present. The Device Info page already exposes the 15m–7d range buttons via TelemetryGraphs' showTimeRangeSelector; enable the same on the Node Details graphs. The selector seeds from the global telemetryVisualizationHours as its default and persists the choice (shared localStorage key with Device Info), so users can widen to 7d to see longer history on any selected node. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Claude finished @Yeraze's task —— View job PR Review: feat(messages): add telemetry time-range selector to Node Details
SummaryThis is a minimal, well-scoped one-line change that passes One Minor ObservationShared localStorage key ( That said, sharing state means a user who widens to 7d in Device Info will arrive at Node Details already at 7d, and vice versa. This is arguably the better UX (preserve the user's last choice globally), but the storage key name VerdictLGTM. The change is correct, safe, and consistent with how |
Release candidate for 4.11.0. Bumps the version across all five tracked locations (package.json, package-lock.json, helm Chart.yaml version+appVersion, desktop/package.json, desktop/src-tauri/tauri.conf.json). 4.11.0 carries the multi-source route-extraction refactors, the telemetry ingestion unification (#3506/#3507/#3515), the auto-ping ack/race fix (#3522), NodeInfo position-precision guard (#3516), backup-route hardening (#3524), and the Node Details telemetry range selector (#3530). Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Finalize the 4.11.0 release (from 4.11.0-rc2) and bring documentation up to date with everything new since 4.10. Version bump across all five files: package.json, package-lock.json, helm/meshmonitor/Chart.yaml, desktop/src-tauri/tauri.conf.json, desktop/package.json. Documentation: - CHANGELOG: finalize the Unreleased section as [4.11.0], adding the previously-missing entries — headline MeshCore virtual node (#3540), MeshCore path-by-repeater-name (#3550), MeshCore map icons + filtering (#3563), per-node Hide from Map (#3565), telemetry time-range selector (#3530), newer AirQualityMetrics fields (#3517), UI/map unification (#3561), plus the bug-fix and documentation changes since 4.10.4. - virtual-node.md: document the new MeshCore Virtual Node alongside the Meshtastic one (default port 5000, per-source enablement, admin-command safety, MeshCore app setup, troubleshooting) + a two-variants intro note. - configuration/index.md, docs/index.md, README.md: mention the MeshCore Virtual Node in the Virtual Node feature blurbs. - CLAUDE.md: refresh stale version header (4.10.0 -> 4.11.0) and migration count (84 -> 92, latest 092_add_hide_from_map_to_nodes). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Summary
The Node Details panel (Messages view → selected node) renders its telemetry graphs with a fixed
telemetryVisualizationHourswindow (24h by default), so longer history couldn't be viewed there — e.g. a node whose environment readings are a few days old shows an empty environment graph even though the data exists.The Device Info page (
InfoTab) already exposes the 15m–7d range buttons viaTelemetryGraphs'showTimeRangeSelectorprop. This enables the same on the Node Details graphs.Change
One line: pass
showTimeRangeSelectorto the<TelemetryGraphs>inMessagesTab.tsx(the node-details panel).Behavior (already implemented in the component):
telemetryVisualizationHoursas the default, and persists the user's choice (shared localStorage key with Device Info).effectiveHoursfollows the selected range instead of the fixed prop.Why
Lets users widen any selected node's telemetry to 7d to view longer history (the prompting case: a node with environment telemetry from ~4 days ago that didn't appear in the default 24h node-details view).
Scope note:
MeshCoreTelemetryViewis a favorites-dashboard, not a per-node graph, so it's intentionally untouched.Verification
Typecheck clean; all 28
TelemetryGraphstests pass (incl. the existingshowTimeRangeSelectorcases). Built and deployed to the local dev container for manual confirmation.🤖 Generated with Claude Code