Commit Graph
447 Commits
Author SHA1 Message Date
Sven van GinkelandGitHub 666529e073 feat(site): compare network monitors across systems (#2442) 2026-09-28 17:45:54 -04:00
7626e5e3c8 feat: show systemd service logs in service details (#2440)
Co-authored-by: hank <hank@henrygd.me>
2026-09-28 13:57:36 -04:00
Sven van GinkelandGitHub ad215788ed fix(site): even y-axis ticks on system charts (#2466) 2026-09-28 12:14:47 -04:00
henrygd b684ac9910 fix(hub): bound SSH handshake so a silent peer can't hang the updater
ssh.ClientConfig.Timeout only covers the TCP connect. A peer that accepts
the connection but never sends an SSH banner blocked ssh.NewClientConn
forever, wedging the system's updater goroutine and leaking the socket.
Set a deadline on the conn for the handshake and clear it afterward.
2026-09-28 10:18:59 -04:00
65f00ae119 feat(site): replace active alerts grid with banner and sheet (#2445)
Co-authored-by: henrygd <hank@henrygd.me>
2026-09-27 20:33:06 -04:00
henrygd 4b4ef0a2fe fix(ui): show grey agent version dot for paused systems 2026-09-27 13:25:29 -04:00
henrygd 81fd571169 refactor(site): move package updates to own tab and tweak table
- show package updates in a separate Updates tab in the tabbed layout
- sort major version changes first in the change column
- use text-sm for version numbers
2026-09-27 11:39:54 -04:00
Anand HegdeandGitHub 8613cfe548 feat: list pending package updates on the system page (#2427) 2026-09-27 11:27:13 -04:00
c1505804bd fix(site): show gaps in network monitor charts for failed probes and disconnects (#2428)
Co-authored-by: henrygd <hank@henrygd.me>
2026-09-27 11:08:50 -04:00
henrygd b3feff9a28 fix(site): round network monitor res_avg and loss to two decimals
plus formatting in utils.ts
2026-09-26 12:53:39 -04:00
67c3c1cb43 fix(site): avoid duplicate y-axis labels on network monitor response charts (#2426)
Co-authored-by: hank <hank@henrygd.me>
2026-09-26 12:37:11 -04:00
henrygd fb4e93f098 refactor(site): use globalThis to access BESZEL for base path 2026-09-26 12:26:39 -04:00
spatiumstasandGitHub 1ed02bb517 feat(ui): add Twemoji Country Flags font to make sure flags always render (#2363) 2026-09-26 10:41:22 -04:00
henrygd 15994474f6 hub: return 404 status for unknown frontend routes (#2414) 2026-09-26 10:17:25 -04:00
henrygd 24ec18a937 refactor(hub): decode each agent response into a new struct
The WebSocket path reused sys.data, and CBOR leaves omitted fields
untouched, so stale values carried over (e.g. Details re-saved every
poll, SystemdServicesUpdated stuck true, old map entries kept).

sys.data is now set only by the regular update for alerts. Removes the
Wi-Fi-only workaround in UnmarshalResponse.
2026-09-26 09:43:33 -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 CappelloandGitHub 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
henrygd 7bea20e3b6 refactor(agent): remove unused FsStats.Time
The disk I/O seed now reads from diskBaseline, so nothing reads
FsStats.Time anymore.
2026-09-25 13:50:19 -04:00
Anand HegdeandGitHub 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
spatiumstasandGitHub 21b648a005 fix(site): prevent scrollbar layout shifts (#2406) 2026-09-24 19:25:56 -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 GinkelandGitHub 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
Sven van GinkelandGitHub 4d10ea2e03 feat: add SYNC_SYSTEM_NAMES env var to sync system names with hostname (#1917) 2026-09-24 17:45:59 -04:00
henrygd c21412f45d i18n: update strings 2026-09-24 12:29:12 -04:00
spatiumstasandGitHub 367d2f39da fix(i18n): translate system actions as complete phrases (#2403) 2026-09-24 12:23:42 -04:00
hankandGitHub eabd9a950a New Crowdin updates (#2384) 2026-09-24 12:21:49 -04:00
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
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
Mario MoharandGitHub fc33e62736 fix(hub): restart beszel-hub.service after update (#2410)
restartService only looked for beszel.service, but install-hub.sh installs
the unit as beszel-hub.service, so the restart was skipped on a standard
install and the hub kept running the old binary.

Try the installer's name first and keep beszel.service as a fallback for
hand written units. Same for the OpenRC branch.
2026-09-24 10:00:18 -04:00
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
spatiumstasandGitHub 0870716052 fix(i18n): extract bulk monitor format hint for translation (#2362) 2026-09-23 15:19:30 -04:00
Sven van GinkelandGitHub b1270e341c feat(ui): Add view settings to network monitors table (#2396) 2026-09-23 13:47:42 -04:00
9042a8c5c8 fix(site): handle missing default chart time (#2397)
Co-authored-by: henrygd <hank@henrygd.me>
2026-09-23 12:29:31 -04:00
henrygd 8bf6917fe0 fix: prevent WebSocket reconnect loops on slow agent collections (#2294)
The hub waited only 5s (the request manager default) for stats over
WebSocket and closed the connection on any error. On hosts where
`zpool list` stalls (seen on Proxmox, up to its 10s timeout), collection
exceeded that limit, so the hub sent a close (code 1000) and the agent
reconnected. The refresh ran every other cycle, which caused a
disconnect roughly every 2 minutes.

Hub:
- Wait up to 30s for WebSocket stats responses.
- Keep the connection open when a stats request times out; only close
  it (and fall back to SSH) for other errors.

Agent:
- After the first collection, refresh `zpool list` pool stats and
  `zfs list` dataset usage in the background and serve cached values
  meanwhile, so a hung utility cannot delay the stats response.
2026-09-23 11:21:51 -04:00
spatiumstasandGitHub 2d5ea3fa08 fix: preserve status alerts through pending recovery (#2375) 2026-09-22 19:14:54 -04:00
Sven van GinkelandGitHub 627d364071 fix(ui): disable Add Monitor button when no eligible systems exist (#2392) 2026-09-22 19:04:48 -04:00
Sven van GinkelandGitHub 8047f005d4 fix(ui): preserve paused systems in network monitors table (#2391) 2026-09-22 18:40:46 -04:00
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 GinkelandGitHub c9de35fad2 feat: change network packet loss to a red line (#2377) 2026-09-21 14:49:11 -04:00
henrygd a5f216f425 exit 0 without key on Windows to avoid Winget Validation-Executable-Error (#2376, #2247) 2026-09-21 11:27:37 -04:00
henrygd 97e6f64bdc fix(ui): swap usage chart shown twice in tabs view (#2356) 2026-09-19 13:27:00 -04:00
henrygd c52f3acb94 fix(docker): enable Debian contrib for ZFS utilities in slim NVIDIA image 2026-09-19 12:03:05 -04:00