Commit Graph
1731 Commits
Author SHA1 Message Date
henrygd 5b0952ffcf ui: persist log timestamp toggle and add tooltips to log buttons 2026-09-30 21:26:28 -04:00
Jeroen De WildeandGitHub 2502dd9626 feat: add toggle for log timestamps (#2471) 2026-09-30 21:14:13 -04:00
hankandGitHub 8a91a0b5ab New Crowdin updates (#2412) 2026-09-30 21:12:07 -04:00
henrygd 6ff9b4cfea feat(ui): add MB/s and GB/s unit select to bandwidth alert
Raises the bandwidth threshold max to 5 GB/s without making the MB/s
slider less precise. Values are still stored in MB/s, and the unit is
inferred from the stored value when the alert sheet opens.
2026-09-30 20:24:04 -04:00
Santhi PrakashandGitHub 65e3e2e768 fix(agent): count ZFS snapshot reads in pool I/O stats (#2474) 2026-09-30 18:22:51 -04:00
Sven van GinkelandGitHub 87f1efdfd9 fix(ui): reject IP targets for DNS monitors (#2483) 2026-09-30 18:12:14 -04:00
Bartu ÖzenandGitHub dd3a769d18 Widen NVMe power-cycle SMART fields to uint (#2484) 2026-09-30 17:50:12 -04:00
henrygd 266f45f104 fix(agent): skip first disk I/O sample of an interval when its window is too short
Right after agent start the hub requests stats immediately, and the first
sample of the interval was measured from the baseline taken at startup, only
a second or so earlier. A burst of startup I/O was then stored as the rate
for the whole minute, causing large spikes in disk I/O charts.

The first sample of an interval now must span at least half the interval.
Otherwise it only stores the snapshot, and the next sample is measured from it.
2026-09-30 13:02:29 -04:00
henrygd e925fafd7b refactor(agent): label windows wifi interfaces by adapter name instead of GUID 2026-09-30 12:50:17 -04:00
Sven van GinkelandGitHub 15c29fee92 feat(site): allow dismissing the active alerts banner and soften its red (#2478) 2026-09-30 12:17:02 -04:00
Sven van GinkelandGitHub 2ca5e727f9 refactor(ui): remove "Copy to system" from network monitor actions (#2480) 2026-09-30 12:13:31 -04:00
e01e2a20e9 feat(ui): compare network monitor targets within the same system (#2477)
Co-authored-by: henrygd <hank@henrygd.me>
2026-09-29 19:56:56 -04:00
spatiumstasandGitHub 3cc19602c1 hotfix: remove unused useLingui (#2476) 2026-09-29 17:21:45 -04:00
spatiumstasandGitHub 6c47ca8ecc fix(site): refresh interpolated translations on locale change (#2405) 2026-09-29 12:57:57 -04:00
JuankersandGitHub 3281055d95 fix(ui): prevent status ping from being clipped on desktop (#2470) 2026-09-29 12:24:44 -04:00
henrygd 02653f8ed9 chore: update go dependencies 2026-09-29 12:12:14 -04:00
spatiumstasandGitHub 67c5905b36 fix(agent): handle partial NVMe SMART data (#2340) 2026-09-29 12:09:32 -04:00
henrygd 1997984325 refactor(hub): make SSHTransport the single owner of each system's SSH connection
The updater and on-demand requests kept separate copies of the SSH client
(sys.client and the transport's client) and synced them after each request.
That allowed a closed client to be reinstalled over a newer one and leaked
connections that were replaced without being closed.

The updater now dials, opens sessions and tears down timed-out connections
through the transport. The dial keeps the TCP keepalive and handshake
deadline, and an OnConnect callback handles the per-connection resets.
The transport is created under a lock and agentVersion is now atomic.
2026-09-29 11:59:15 -04:00
97db8bd199 fix(hub): honor SSH request cancellation (#2450)
Co-authored-by: hank <hank@henrygd.me>
2026-09-29 11:22:17 -04:00
24881fbfdf fix(hub): prevent proxy caching of systemd details (#2456)
Co-authored-by: hank <hank@henrygd.me>
2026-09-29 10:54:17 -04:00
user01010111andGitHub 4422be717c refactor(site): restore TypeScript checking in production builds (#2457) 2026-09-29 10:35:47 -04:00
0484c54919 fix(hub): require system access for alert subscriptions and delivery (#2455)
Co-authored-by: hank <hank@henrygd.me>
2026-09-29 10:27:11 -04:00
a77ed345d7 refactor(hub): scope monitor result writes to the reporting system (#2449)
Co-authored-by: hank <hank@henrygd.me>
2026-09-29 09:41:48 -04:00
henrygd 1ab38e57c5 chore(site): refresh bun lockfile 2026-09-29 08:52:33 -04:00
user01010111andGitHub 68ca6936a7 refactor(agent): avoid deprecated CPU time total helper (#2459) 2026-09-29 08:42:01 -04:00
user01010111andGitHub 5df0a256c6 fix(hub): pad short monitor IDs to the schema minimum (#2454) 2026-09-28 19:48:57 -04:00
user01010111andGitHub 8b38db1ba0 test: initialise and stop hub fixture workers before cleanup (#2463) 2026-09-28 19:42:36 -04:00
user01010111andGitHub 130365f5d3 fix(agent): create SSH server configuration per connection (#2451) 2026-09-28 19:22:48 -04:00
921ded1af0 fix(hub): synchronise WebSocket connection access (#2453)
Co-authored-by: user01010111 <lapses.50.booster@icloud.com>
2026-09-28 19:12:00 -04:00
user01010111andGitHub 09a277f074 fix(hub): synchronise system status access (#2452) 2026-09-28 18:58:46 -04:00
user01010111andGitHub 083b28a1fc fix(hub): preserve custom DNS resolvers when syncing monitors (#2448) 2026-09-28 18:49:43 -04:00
user01010111andGitHub c556dc478d test: preserve fixture errors and verify complete certificate pools (#2462) 2026-09-28 18:23:15 -04:00
user01010111andGitHub 62f8a39c8a test: make agent and systemd fixtures portable (#2461) 2026-09-28 18:19:02 -04:00
Sven van GinkelandGitHub be3dad7ed4 fix(site): confirm before deleting a single network monitor (#2467) 2026-09-28 18:01:10 -04:00
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
739649a6db Fix: Convert intel gpu top from text to JSON (#2387)
Co-authored-by: hank <hank@henrygd.me>
2026-09-27 10:17:28 -04:00
Sven van GinkelandGitHub 3f20ecae50 fix(agent): keep reconnecting after an async WebSocket handshake failure (#2329, #2326) 2026-09-26 13:30:52 -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