Jim Haff
ad21cab457
Prevent temperature collection from blocking agent stats ( #1839 )
2026-03-26 20:03:51 -04:00
henrygd
f04684b30a
hub(ui): small js optimizations
2026-03-26 19:16:39 -04:00
Stavros
4d4e4fba9b
feat: use dropdown menu as navigation on mobile devices ( #1840 )
...
Co-authored-by: henrygd <hank@henrygd.me >
2026-03-26 18:27:42 -04:00
henrygd
62587919f4
hub(ui): tabs display for system + major frontend/charts refactoring
...
- System page tabs display option
- Remove very specific chart components (disk usage, container cpu, etc)
and refactor to use more flexible area and line chart components
- Optimizations around chart handling to decrease mem usage. Charts are
only redrawn now if in view.
- Resolve most of the react dev warnings
Co-authored-by: sveng93 <svenvanginkel@icloud.com >
2026-03-26 15:21:39 -04:00
henrygd
35528332fd
hub: fix possible nil pointer panic in realtime worker
2026-03-26 10:48:37 -04:00
henrygd
e3e453140e
fix(agent): isolate container network rate tracking per cache interval
...
Previously, the agent shared a single PrevReadTime timestamp across all
collection intervals (e.g., 1s and 60s). This caused the 60s collector
to divide its accumulated 60s byte delta by the tiny time elapsed since
the last 1s collection, resulting in astronomically inflated network
rates. The fix introduces per-cache-time read time tracking, ensuring
calculations for each interval use their own independent timing context.
2026-03-24 13:07:56 -04:00
henrygd
7a64da9f65
hub: add guard to WSConn.Ping to ensure no nil conn ptr
2026-03-23 15:25:43 -04:00
henrygd
8e71c8ad97
hub: don't retry update check within cache time if request fails
2026-03-22 18:18:31 -04:00
henrygd
97f3b8c61f
test(hub): add tests for update endpoint
2026-03-22 17:56:27 -04:00
henrygd
0b0b5d16d7
refactor(hub): move api related code from hub.go to api.go
2026-03-22 17:31:06 -04:00
Sven van Ginkel
b2fd50211e
feat(hub): show "update available" notification in hub web UI ( #1830 )
...
* refactor, make opt-in, and deprecate /api/beszel/getkey in favor of /api/beszel/info
---------
Co-authored-by: henrygd <hank@henrygd.me >
2026-03-22 17:23:54 -04:00
Sven van Ginkel
c159eaacd1
fix light flashes when refresh in dark mode ( #1832 )
2026-03-22 13:35:43 -04:00
Sven van Ginkel
441bdd2ec5
fix: correct DST offset handling in daily quiet hours ( #1827 )
2026-03-22 12:50:36 -04:00
henrygd
ff36138229
fix(hub): add onAfterBootstrapAndMigrations to properly queue fns after migrations
...
also remove error return from NewHub and improve comments in hub.go
2026-03-20 19:32:59 -04:00
henrygd
be70840609
test: update tests that use os.Setenv to t.Setenv
2026-03-20 15:00:28 -04:00
henrygd
565162ef5f
refactor(hub): harden/enforce pb api rules and add tests
...
- separate collection related code from hub.go
- ensure hub is bootstrapped and collections updated automatically when
calling NewHub
2026-03-20 14:39:05 -04:00
henrygd
adbfe7cfb7
chore: upgrade action and go versions in vulncheck workflow
2026-03-19 11:36:10 -04:00
henrygd
1ff7762c80
test(hub): add status alert tests covering multiple users
2026-03-18 17:44:34 -04:00
henrygd
0ab8a606e0
fix(ui): hooks bug in all systems table disk cell
2026-03-18 17:17:58 -04:00
henrygd
e4e0affbc1
test(hub): add additional tests for all system alerts
2026-03-17 18:48:54 -04:00
henrygd
c3a0e645ee
refactor: variable renaming in alerts package
2026-03-17 18:44:46 -04:00
henrygd
c6c3950fb0
refactor: add alertsCache to maintain active alert data in memory
2026-03-17 18:32:57 -04:00
henrygd
48ddc96a0d
systemd: allow timer monitoring with SERVICE_PATTERNS ( #1820 )
2026-03-17 15:11:44 -04:00
henrygd
704cb86de8
refactor: change ExpiryMap.store to be a pointer
2026-03-16 17:44:45 -04:00
henrygd
2854ce882f
fix(ui): centralize default layout width and update default setting
2026-03-16 15:23:32 -04:00
henrygd
ed50367f70
fix(agent): add fallback for podman container health ( #1475 )
2026-03-15 17:59:59 -04:00
henrygd
4ebe869591
ui: virtualize smart table
2026-03-15 15:20:07 -04:00
henrygd
c9bbbe91f2
ui: improve table col widths and hide text showing above header
2026-03-15 14:59:25 -04:00
henrygd
5bfe4f6970
agent: include ip in container port if not 0.0.0.0 or ::
2026-03-15 14:58:21 -04:00
henrygd
380d2b1091
add ports column to containers table ( #1481 )
2026-03-14 19:29:39 -04:00
henrygd
a7f99e7a8c
agent: support new Docker API Health field ( #1475 )
2026-03-14 15:26:44 -04:00
henrygd
bd94a9d142
agent: improve disk discovery / IO mapping and add tests ( #1811 )
2026-03-13 16:03:27 -04:00
henrygd
8e2316f845
refactor: simplify/improve status alert handling ( #1519 )
...
also adds new functionality to restore any pending down alerts
that were lost by hub restart before creation
2026-03-12 15:53:40 -04:00
Sven van Ginkel
0d3dfcb207
fix(hub): check if status alert is triggered before sending up alert ( #1806 )
2026-03-12 13:38:42 -04:00
henrygd
b386ce5190
hub: add ExpiryMap.UpdateExpiration and sync SMART fetch intervals ( #1800 )
...
- Update smartFetchMap expiration when agent smart interval changes
- Prevent background SMART fetching before initial system details are
loaded
- Add buffer to SMART fetch timing check
- Get rid of unnecessary pointers in expirymap
2026-03-11 16:25:52 -04:00
henrygd
e527534016
ensure deprecated system fields are migrated to newer structures
...
also removes refs to legacy load avg fields (l1, l5, l15) that were
around for a very short period
2026-03-10 18:46:57 -04:00
Victor Eduardo
ec7ad632a9
fix: Use historical records to average disk usage for extra disk alerts ( #1801 )
...
- Introduced a new test file `alerts_disk_test.go` to validate the behavior of disk alerts using historical data for extra filesystems.
- Enhanced the `HandleSystemAlerts` function to correctly calculate disk usage for extra filesystems based on historical records.
- Updated the `SystemAlertStats` struct to include `ExtraFs` for tracking additional filesystem statistics.
2026-03-09 18:32:35 -04:00
VACInc
963fce5a33
agent: mark mdraid rebuild as warning, not failed ( #1797 )
2026-03-09 17:54:53 -04:00
Sven van Ginkel
d38c0da06d
fix: bypass NIC auto-filter when interface is explicitly whitelisted via NICS ( #1805 )
...
Co-authored-by: henrygd <hank@henrygd.me >
2026-03-09 17:47:59 -04:00
henrygd
cae6ac4626
update go version to 1.26.1
2026-03-09 16:10:38 -04:00
henrygd
6b1ff264f2
gpu(amd): add workaround for misreported sysfs filesize ( #1799 )
2026-03-09 14:53:52 -04:00
henrygd
35d0e792ad
refactor(expirymap): optimize performance and add StopCleaner method
2026-03-08 19:09:41 -04:00
henrygd
654cd06b19
respect SMART_INTERVAL across agent reconnects ( #1800 )
...
Move tracking of the last SMART data fetch from individual System
instances to the SystemManager using a TTL-based ExpiryMap.
This ensures that the SMART_INTERVAL is respected even if an
agent connection is dropped and re-established, preventing
redundant data collection on every reconnect.
2026-03-08 19:03:50 -04:00
henrygd
5e1b028130
refactor(smart): improve perf by skipping ata_device_statistics parsing if unnecessary
2026-03-08 15:19:50 -04:00
henrygd
638e7dc12a
fix(smart): handle negative ATA device statistics values ( #1791 )
2026-03-08 13:34:16 -04:00
henrygd
73c262455d
refactor(agent): move GetEnv to utils package
2026-03-07 14:12:17 -05:00
henrygd
0c4d2edd45
refactor(agent): add utils package; rm utils.go and fs_utils.go
2026-03-07 13:50:49 -05:00
henrygd
8f23fff1c9
refactor: mdraid comments and organization
...
also hide serial / firmware in smart details if empty, remove a few
unnecessary ops, and add a few more passed state values
2026-02-27 14:23:10 -05:00
VACInc
02c1a0c13d
Add Linux mdraid health monitoring ( #1750 )
2026-02-27 13:42:47 -05:00
henrygd
69fdcb36ab
support ZFS ARC on freebsd
2026-02-26 18:38:54 -05:00