hank
5ad578c467
New translations en.po (Korean)
...
[ci skip]
2026-09-30 22:40:59 -04:00
hank
44dc5146a9
New translations en.po (Japanese)
...
[ci skip]
2026-09-30 22:40:58 -04:00
hank
ff963b7f71
New translations en.po (Italian)
...
[ci skip]
2026-09-30 22:40:57 -04:00
hank
eb8dde8bdc
New translations en.po (Hungarian)
...
[ci skip]
2026-09-30 22:40:55 -04:00
hank
bb46b19f62
New translations en.po (Hebrew)
...
[ci skip]
2026-09-30 22:40:54 -04:00
hank
8b80ba1288
New translations en.po (Greek)
...
[ci skip]
2026-09-30 22:40:52 -04:00
hank
a45d0ffda3
New translations en.po (Danish)
...
[ci skip]
2026-09-30 22:40:51 -04:00
hank
37cf26ec19
New translations en.po (Czech)
...
[ci skip]
2026-09-30 22:40:49 -04:00
hank
aa62b13d3c
New translations en.po (Bulgarian)
...
[ci skip]
2026-09-30 22:40:48 -04:00
hank
217d3fa686
New translations en.po (Spanish)
...
[ci skip]
2026-09-30 22:40:46 -04:00
hank
b8eacbf274
New translations en.po (French)
...
[ci skip]
2026-09-30 22:40:45 -04:00
henrygd
5b0952ffcf
ui: persist log timestamp toggle and add tooltips to log buttons
2026-09-30 21:26:28 -04:00
Jeroen De Wilde
2502dd9626
feat: add toggle for log timestamps ( #2471 )
2026-09-30 21:14:13 -04:00
hank
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 Prakash
65e3e2e768
fix(agent): count ZFS snapshot reads in pool I/O stats ( #2474 )
2026-09-30 18:22:51 -04:00
Sven van Ginkel
87f1efdfd9
fix(ui): reject IP targets for DNS monitors ( #2483 )
2026-09-30 18:12:14 -04:00
Bartu Özen
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 Ginkel
15c29fee92
feat(site): allow dismissing the active alerts banner and soften its red ( #2478 )
2026-09-30 12:17:02 -04:00
Sven van Ginkel
2ca5e727f9
refactor(ui): remove "Copy to system" from network monitor actions ( #2480 )
2026-09-30 12:13:31 -04:00
Sven van Ginkel
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
spatiumstas
3cc19602c1
hotfix: remove unused useLingui ( #2476 )
2026-09-29 17:21:45 -04:00
spatiumstas
6c47ca8ecc
fix(site): refresh interpolated translations on locale change ( #2405 )
2026-09-29 12:57:57 -04:00
Juankers
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
spatiumstas
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
user01010111
97db8bd199
fix(hub): honor SSH request cancellation ( #2450 )
...
Co-authored-by: hank <hank@henrygd.me >
2026-09-29 11:22:17 -04:00
user01010111
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
user01010111
4422be717c
refactor(site): restore TypeScript checking in production builds ( #2457 )
2026-09-29 10:35:47 -04:00
user01010111
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
user01010111
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
user01010111
68ca6936a7
refactor(agent): avoid deprecated CPU time total helper ( #2459 )
2026-09-29 08:42:01 -04:00
user01010111
5df0a256c6
fix(hub): pad short monitor IDs to the schema minimum ( #2454 )
2026-09-28 19:48:57 -04:00
user01010111
8b38db1ba0
test: initialise and stop hub fixture workers before cleanup ( #2463 )
2026-09-28 19:42:36 -04:00
user01010111
130365f5d3
fix(agent): create SSH server configuration per connection ( #2451 )
2026-09-28 19:22:48 -04:00
user01010111
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
user01010111
09a277f074
fix(hub): synchronise system status access ( #2452 )
2026-09-28 18:58:46 -04:00
user01010111
083b28a1fc
fix(hub): preserve custom DNS resolvers when syncing monitors ( #2448 )
2026-09-28 18:49:43 -04:00
user01010111
c556dc478d
test: preserve fixture errors and verify complete certificate pools ( #2462 )
2026-09-28 18:23:15 -04:00
user01010111
62f8a39c8a
test: make agent and systemd fixtures portable ( #2461 )
2026-09-28 18:19:02 -04:00
Sven van Ginkel
be3dad7ed4
fix(site): confirm before deleting a single network monitor ( #2467 )
2026-09-28 18:01:10 -04:00
Sven van Ginkel
666529e073
feat(site): compare network monitors across systems ( #2442 )
2026-09-28 17:45:54 -04:00
spatiumstas
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 Ginkel
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
Sven van Ginkel
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