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
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
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
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
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
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
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
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
ilya
b012df5669
Fix volume path in Docker run command ( #1764 )
2026-02-24 15:47:16 -05:00
henrygd
9e2296452b
fix: compute bandwidth alerts from byte-per-second source ( #1770 )
...
Use Info.BandwidthBytes converted to MB/s with float division so
bandwidth alert checks are based on current data without integer
truncation near thresholds.
2026-02-24 13:07:27 -05:00
henrygd
ac79860d4a
dev: update biome schema and disable assist/source/organizeImports
2026-02-20 15:50:44 -05:00
henrygd
e13a99fdac
ui: add fallback to display language code if no emoji / flag
2026-02-20 15:46:24 -05:00
henrygd
4cfb2a86ad
0.18.4 release
2026-02-20 15:00:15 -05:00
henrygd
191f25f6e0
ui: refactor heartbeat settings page
2026-02-20 14:48:59 -05:00
henrygd
aa8b3711d7
update translations
2026-02-19 19:22:54 -05:00
henrygd
1fb0b25988
testing: improve flaky hub cleanup in agent_connect_test.go
2026-02-19 18:35:31 -05:00
henrygd
04600d83cc
refactor: small go 1.26 updates and go fix changes
2026-02-19 18:04:33 -05:00
henrygd
daac287b9d
ui: fix race issue with meter threshold colors
...
also increase the default container width
2026-02-19 17:37:57 -05:00
henrygd
d526ea61a9
ui: freeze header of smart device details table
2026-02-19 17:35:12 -05:00
henrygd
79616e1662
update translations
2026-02-19 16:21:59 -05:00
Sven van Ginkel
01e8bdf040
feat: allow precise value entry for alerts via text input ( #1718 )
2026-02-19 13:15:12 -05:00