- Apply appendData() for gap detection in both realtime and non-realtime
modes, so the latency chart shows breaks instead of smooth lines when
data is missing during service interruptions
- Handle null stats in gap marker entries to prevent runtime crashes
- Fix color assignment: use CSS variables (--chart-1..5) for ≤5 probes,
switch to dynamic HSL distribution for >5 probes so all lines are
visible with distinct colors
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Pass system record to NetworkProbes component and use it as a
dependency in the non-realtime fetch effect, matching the pattern
used by system_stats and container_stats in use-system-data.ts.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Include probe results in the 1-second realtime WebSocket broadcast so
the frontend can update probe latency/loss every second, matching the
behavior of system and container metrics.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Stats records in the DB contain historical data for all probes including
deleted ones. Now filters stats by active probe keys and clears state
when all probes are removed.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Rename setInterval to setProbeInterval to avoid shadowing global
- Move probeKey function outside component (pure function)
- Fix probes.length dependency to use probes directly
- Use proper type for stats fetch instead of any
- Fix name column fallback to show target instead of dash
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Displays probe list with protocol badges, latency/loss stats, and
delete functionality. Includes a latency line chart using ChartCard
with data sourced from the network-probe-stats API.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Dialog component for adding ICMP/TCP/HTTP network probes with
protocol selection, target, port, interval, and name fields.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- System page tabs display option
- Remove very specific chart components (disk usage, container cpu, etc)
and refactor to use more flexible area and line chart components
- Optimizations around chart handling to decrease mem usage. Charts are
only redrawn now if in view.
- Resolve most of the react dev warnings
Co-authored-by: sveng93 <svenvanginkel@icloud.com>
* SMART: add eMMC health via sysfs
Read eMMC wear/EOL indicators from /sys/class/block/mmcblk*/device and expose in SMART device list. Includes mocked sysfs tests and UI tweaks for unknown temps.
* small optimizations for emmc scan and parsing
* smart: keep smartctl optional only for Linux hosts with eMMC
* update smart alerts to handle warning state
* refactor: rename binPath to smartctlPath and replace hasSmartctl with smartctlPath checks
---------
Co-authored-by: henrygd <hank@henrygd.me>
* feat: Added tooltips for navbar buttons to clear meaning of each one.
* update tooltips and fix linter errors
---------
Co-authored-by: henrygd <hank@henrygd.me>
- add includedetails flag to data requests for better efficiency
- integrate docker host info api for better os detection
- pull more OS details as well as cpu arch
- separate info bar component and refactor for new info
- Add /smart route to view SMART data across all systems
- Store SMART devices in new smart_devices collection
- Auto-fetch SMART data when system first comes online
- Add refresh/delete actions per device with realtime updates
- Add navbar and command palette entries
- Implement SmartManager for collecting SMART data from SATA and NVMe drives
- Add smartctl-based data collection with standby mode detection
- Support comprehensive SMART attributes parsing and storage
- Add hub API endpoint for fetching SMART data from agents
- Create SMART table UI with detailed disk information
Co-authored-by: geekifan <i@ifan.dev>
- add one minute charts
- update disk io to use bytes
- update hub and agent connection interfaces / handlers to be more
flexible
- change agent cache to use cache time instead of session id
- refactor collection of metrics which require deltas to track
separately per cache time