Commit Graph

203 Commits

Author SHA1 Message Date
henrygd
fb4e93f098 refactor(site): use globalThis to access BESZEL for base path 2026-09-26 12:26:39 -04:00
henrygd
c7f2177b08 wifi: hide chart without signal data, show unknown signal in table
The line chart never renders without values, leaving an endless spinner
when connected interfaces report no RSSI.
2026-09-25 20:09:34 -04:00
henrygd
fe83f5b831 add signal strength indicator dot to all systems table 2026-09-25 19:24:11 -04:00
henrygd
46fa7c581e use tooltip for all systems table cell 2026-09-25 18:53:25 -04:00
henrygd
24792aa24f wifi: omit empty info snapshot and tidy up
- Info.WiFi uses json "wf" with omitempty so systems without Wi-Fi no
  longer store/broadcast "wifi":null
- move osascript exec into wifi_darwin.go; drop unused commandRunner
- share strongest-connection logic between table cell and sorting
- trim agent/wifi README
2026-09-25 18:43:05 -04:00
henrygd
16e3fbadce store compact RSSI stats and skip real-time collection
Stats.WiFi is now map[string]int8 (json "wf") holding only available
RSSI
readings; SSID and unavailable signals stay in Info.WiFi. Averages are
rounded to whole dBm.

Wi-Fi is collected only on the default 60s interval; real-time requests
reuse the last snapshot to avoid spawning osascript / dumping the BSS
cache every second.
2026-09-25 18:02:34 -04:00
Vito Cappello
86ab0fae8b feat: monitor connected Wi-Fi signal per interface (#2367) 2026-09-25 17:43:57 -04:00
henrygd
badd4c8245 fix(hub): improve GPU chart layout
- Let GPU Power Draw span full width when it's a lone card in the grid
- Split GPU charts into summary (power/engines) and per-GPU grids so
  usage and VRAM charts stay paired side by side
2026-09-25 13:55:59 -04:00
Anand Hegde
c25408651f feat: show number of pending package updates (#2357) 2026-09-25 12:13:37 -04:00
henrygd
d80a2f49f9 fix(ui): hide stray 0 in info bar for paused systems 2026-09-24 19:56:23 -04:00
henrygd
151423ac63 fix(ui): size monitors system column by systems in the table
Base the network monitors system column width on the longest name among
systems that have monitors in the table, rather than all systems.
2026-09-24 19:13:48 -04:00
Sven van Ginkel
f7528a0208 feat: Add option to define which DNS server a DNS monitor queries (#2389) 2026-09-24 19:01:10 -04:00
henrygd
a20a7d2edc fix(ui): correct navbar users link 2026-09-24 18:21:17 -04:00
henrygd
f2adb9cf94 fix(ui): correct navbar users link 2026-09-24 18:18:00 -04:00
spatiumstas
367d2f39da fix(i18n): translate system actions as complete phrases (#2403) 2026-09-24 12:23:42 -04:00
Sven van Ginkel
0be9882b34 feat(ui): simplify Services column in systems table (#2399)
Co-authored-by: hank <hank@henrygd.me>
2026-09-24 12:05:26 -04:00
Mario Mohar
e4b84b72ab fix(site): measure the longest string width instead of estimating it (#2411)
Co-authored-by: henrygd <hank@henrygd.me>
2026-09-24 11:32:21 -04:00
Sven van Ginkel
a99fe5e997 feat: add TLS certificate expiry check to HTTPS network monitors (#2401)
Co-authored-by: henrygd <hank@henrygd.me>
2026-09-23 17:07:29 -04:00
spatiumstas
0870716052 fix(i18n): extract bulk monitor format hint for translation (#2362) 2026-09-23 15:19:30 -04:00
Sven van Ginkel
b1270e341c feat(ui): Add view settings to network monitors table (#2396) 2026-09-23 13:47:42 -04:00
Adrien Boullé
9042a8c5c8 fix(site): handle missing default chart time (#2397)
Co-authored-by: henrygd <hank@henrygd.me>
2026-09-23 12:29:31 -04:00
Sven van Ginkel
627d364071 fix(ui): disable Add Monitor button when no eligible systems exist (#2392) 2026-09-22 19:04:48 -04:00
Sven van Ginkel
8047f005d4 fix(ui): preserve paused systems in network monitors table (#2391) 2026-09-22 18:40:46 -04:00
Sven van Ginkel
4a4610bbc3 fix(ui): reflect target response status in network monitor status dot (#2390)
Co-authored-by: henrygd <hank@henrygd.me>
2026-09-22 18:12:19 -04:00
Sven van Ginkel
c9de35fad2 feat: change network packet loss to a red line (#2377) 2026-09-21 14:49:11 -04:00
henrygd
97e6f64bdc fix(ui): swap usage chart shown twice in tabs view (#2356) 2026-09-19 13:27:00 -04:00
henrygd
a0dc19eacf fix(ui): sort containers alphabetically within systems 2026-09-19 11:18:17 -04:00
henrygd
b347599928 update translation strings 2026-09-18 14:00:20 -04:00
hank
bb1b39928e feat: network monitoring from agents (#2266, #1911)
Co-authored-by: Sven van Ginkel <svenvanginkel@icloud.com>
Co-authored-by: xiaomiku01 <xiaomiku01@outlook.com>
2026-09-18 13:22:50 -04:00
Sven van Ginkel
f0f1f7985c feat: persist view preferences and language to user settings (#1831)
Co-authored-by: ChangkeunJ <reiot92@gmail.com>
2026-09-16 20:29:36 -04:00
Petr Rajtslegr
6a7b2772d9 fix(site): switch theme live when system preference changes (#2328)
Listen for prefers-color-scheme changes in ThemeProvider and expose resolvedTheme so the login border color follows the active theme without a hard refresh.
2026-09-13 12:40:21 -04:00
David Jang
086091a0fe fix(site): discard pending history when switching to live charts (#2333) 2026-09-13 12:32:04 -04:00
Bruno Bousquet
f204dc17e6 feat(agent): Add docker image update available flag (#2211)
Co-authored-by: henrygd <hank@henrygd.me>
2026-09-10 19:39:40 -04:00
henrygd
c938368089 i18n: update translation strings 2026-09-09 20:27:22 -04:00
Ani Betts
8d6a5d5f6e feat(agent): report btrfs filesystems as storage pools (#2315)
Co-authored-by: henrygd <hank@henrygd.me>
2026-09-09 19:53:39 -04:00
henrygd
997adc19bb fix: show idle GPU utilization in systems table (#2312) 2026-09-07 13:13:05 -04:00
Matthew D'Souza
ad24484caa feat(site): display NVMe data units as human-readable GB/TB (#2303) 2026-09-05 14:44:03 -04:00
Santhi Prakash
5790fbecce fix: GPU Power Draw chart renders full-width instead of half-width (#2269) 2026-09-02 17:09:32 -04:00
henrygd
7d97b0d23a i18n: update locale files and source strings 2026-09-02 14:57:37 -04:00
Michał Mleczko
5969d36856 feat(alerts): add container health alerts with log excerpt on notifications (#2225)
Add a new "ContainerHealth" alert type that fires when a Docker container's
health check reports unhealthy, and resolves when it recovers. This mirrors
the existing Status (up/down) alert pattern: an alert can be armed per system
and honors the "min minutes" delay before firing.

When the alert fires, the notification (email and any configured webhook,
including Discord via shoutrrr) includes a log excerpt fetched live from the
agent for up to 2 of the unhealthy containers, prioritizing lines containing
"error" or "fatal" (falling back to the log tail if none match), capped to
keep the message well under Discord's size limit.

---------

Co-authored-by: hank <hank@henrygd.me>
2026-09-02 12:46:23 -04:00
Martin Stenröse
097180e8d7 feat(alerts): add alert for failed systemd services (#2173)
Adds a user-configurable "Failed Services" alert that notifies when any
tracked systemd service enters the failed state, and again when all services
recover.

---------

Signed-off-by: Martin Stenröse <martin@stenrose.se>
Co-authored-by: henrygd <hank@henrygd.me>
2026-09-01 20:41:48 -04:00
spatiumstas
ed88e6efae feat(alerts): add CPU state notifications (#2249) 2026-09-01 19:10:31 -04:00
Steven Honson
b670224ed8 ui: hide gpu indicator for host without gpu (#2279) 2026-09-01 18:36:09 -04:00
Tamás Vince
917d069ab3 feat: add ZFS monitoring (#2209)
- track pool capacity, health, I/O, scrub status, and vdev errors
- report dataset usage and correct ZFS filesystem metrics
- add pool charts, detail views, refresh controls, and health alerts
- persist pool details and include ZFS usage in disk alerts
- support configurable detail intervals and legacy agent compatibility

---------

Co-authored-by: hank <hank@henrygd.me>
2026-09-01 12:19:36 -04:00
Sven van Ginkel
b38fb7dafa feat: Add cumulative disk read/write totals to Disk I/O sheet (#2179) 2026-08-30 15:44:18 -04:00
Sven van Ginkel
87620f3251 feat(hub/agent): alphabetical disk ordering and root disk renaming (#2006) 2026-08-30 13:09:04 -04:00
henrygd
467f176713 i18n: add Greek and update locale files 2026-08-27 15:10:05 -04:00
henrygd
90f1bdef1e remove language toggle from navbar 2026-08-17 12:54:55 -04:00
henrygd
87405c5f10 feat: add multi-battery monitoring
- Report battery data for individual devices
- Select a representative battery for legacy fields and alerts
- Average named battery data independently
- Display multiple batteries in system charts
- Add cross-platform coverage and transport tests
2026-08-16 13:52:29 -04:00
Maxim Lepekha
eebcd56462 feat: fan RPM monitoring (#2032)
Adds fan RPM monitoring as a peer to the existing temperature collection, addressing #1918.

---------

Co-authored-by: henrygd <hank@henrygd.me>
2026-08-15 15:59:07 -04:00