Commit Graph

1770 Commits

Author SHA1 Message Date
hank
d60830cd7a New translations en.po (Romanian)
[ci skip]
2026-10-02 13:15:12 -04:00
hank
e3bec2b77e New translations en.po (Uzbek)
[ci skip]
2026-10-02 13:15:10 -04:00
hank
dbdd585732 New translations en.po (Chinese Traditional, Hong Kong)
[ci skip]
2026-10-02 13:15:09 -04:00
hank
eac9dba361 New translations en.po (Croatian)
[ci skip]
2026-10-02 13:15:07 -04:00
hank
16b8c1d9e4 New translations en.po (Persian)
[ci skip]
2026-10-02 13:15:05 -04:00
hank
cb619f2edc New translations en.po (Indonesian)
[ci skip]
2026-10-02 13:15:04 -04:00
hank
3dc0aaaadb New translations en.po (Vietnamese)
[ci skip]
2026-10-02 13:15:02 -04:00
hank
73f719e07f New translations en.po (Chinese Traditional)
[ci skip]
2026-10-02 13:15:00 -04:00
hank
a6686a962c New translations en.po (Chinese Simplified)
[ci skip]
2026-10-02 13:14:58 -04:00
hank
cad33bc8da New translations en.po (Ukrainian)
[ci skip]
2026-10-02 13:14:57 -04:00
hank
dc2e0bef13 New translations en.po (Turkish)
[ci skip]
2026-10-02 13:14:55 -04:00
hank
cc8c9a0537 New translations en.po (Swedish)
[ci skip]
2026-10-02 13:14:54 -04:00
hank
cb2ffa416a New translations en.po (Serbian (Cyrillic))
[ci skip]
2026-10-02 13:14:51 -04:00
hank
1f1d576665 New translations en.po (Slovenian)
[ci skip]
2026-10-02 13:14:49 -04:00
hank
9ce6139513 New translations en.po (Russian)
[ci skip]
2026-10-02 13:14:48 -04:00
hank
b7f75d7057 New translations en.po (Portuguese)
[ci skip]
2026-10-02 13:14:46 -04:00
hank
1ee6b5c159 New translations en.po (Polish)
[ci skip]
2026-10-02 13:14:44 -04:00
hank
1777222320 New translations en.po (Norwegian)
[ci skip]
2026-10-02 13:14:42 -04:00
hank
12e8e687ab New translations en.po (Dutch)
[ci skip]
2026-10-02 13:14:41 -04:00
hank
7d84cc7921 New translations en.po (Korean)
[ci skip]
2026-10-02 13:14:39 -04:00
hank
bf8178d62c New translations en.po (Japanese)
[ci skip]
2026-10-02 13:14:37 -04:00
hank
3ed9af622f New translations en.po (Italian)
[ci skip]
2026-10-02 13:14:36 -04:00
hank
cfb5c94010 New translations en.po (Hungarian)
[ci skip]
2026-10-02 13:14:34 -04:00
hank
6dfda4d743 New translations en.po (Hebrew)
[ci skip]
2026-10-02 13:14:33 -04:00
hank
9928fc5d08 New translations en.po (Greek)
[ci skip]
2026-10-02 13:14:31 -04:00
hank
a0cf458c38 New translations en.po (Danish)
[ci skip]
2026-10-02 13:14:29 -04:00
hank
270d5a57a5 New translations en.po (Czech)
[ci skip]
2026-10-02 13:14:28 -04:00
hank
13b19ee815 New translations en.po (Bulgarian)
[ci skip]
2026-10-02 13:14:26 -04:00
hank
9ad7584ff0 New translations en.po (Spanish)
[ci skip]
2026-10-02 13:14:24 -04:00
hank
aa6b72fed1 New translations en.po (French)
[ci skip]
2026-10-02 13:14:23 -04:00
henrygd
25132b73ff ui: paginate the package updates table 2026-10-02 11:37:18 -04:00
hank
49ad3fe533 New Crowdin updates (#2485) 2026-10-02 10:34:35 -04:00
henrygd
da742a70ab ui: bump default layout width to 1600 2026-10-02 10:25:23 -04:00
Santhi Prakash
01d91728f0 fix(agent): report LXC guest CPU usage from cgroup accounting (#2341)
Inside an LXC guest, lxcfs serves /proc/stat with the counters of the
host cores in the guest's cpuset, so an idle guest sharing a core with a
busy neighbor reported near-100% CPU.

When the agent detects it is running in an LXC guest (lxcfs mounted on
/proc/stat, container=lxc, or /run/systemd/container), derive CPU usage
from the guest's own cgroup instead: cpu.stat on cgroup v2, cpuacct on
v1, read at the cgroup mount root so it covers every process in the
guest. Usage is normalized by the usable cores (the smallest of the
affinity mask, cpuset and CPU quota).

Per-core usage is omitted in this mode, since the per-core /proc/stat
counters describe shared host cores and would contradict the total.
Iowait and steal are not available from cgroup accounting and report as
zero.

Hosts and Docker/Podman agents are unaffected and keep reading
/proc/stat, as does an LXC guest whose cgroup accounting is unreadable.

---------

Co-authored-by: hank <hank@henrygd.me>
2026-10-01 19:33:42 -04:00
Santhi Prakash
c394a6b5b1 fix(agent): resolve device symlinks so LVM volumes map to disk I/O (#2486) 2026-10-01 18:44:29 -04:00
spatiumstas
4ffd83677d fix(agent): improve WebSocket and SSH fallback handling (#2441)
Make WebSocket reconnect and SSH fallback transitions reliable across asynchronous disconnects, stale callbacks, and overlapping connections. Keep the SSH listener available while disconnected and allow a verified WebSocket connection to take precedence when it recovers.

Co-authored-by: henrygd <hank@henrygd.me>
2026-10-01 13:37:57 -04:00
henrygd
d8c2b1f310 deps(agent): upgrade gopsutil 2026-10-01 11:30:38 -04:00
Sven van Ginkel
8a173e2643 feat(hub): add DISABLE_SSH option to skip SSH fallback (#2469)
Co-authored-by: hank <hank@henrygd.me>
2026-10-01 11:20:00 -04:00
Vito Cappello
0b101cc6be fix(agent): use nvethernet MAC counters (#2090)
Co-authored-by: hank <hank@henrygd.me>
2026-10-01 10:58:21 -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