henrygd
87405c5f10
feat: add multi-battery monitoring
...
- Report battery data for individual devices
- Select a representative battery for legacy fields and alerts
- Average named battery data independently
- Display multiple batteries in system charts
- Add cross-platform coverage and transport tests
2026-08-16 13:52:29 -04:00
eebcd56462
feat: fan RPM monitoring ( #2032 )
...
Adds fan RPM monitoring as a peer to the existing temperature collection, addressing #1918 .
---------
Co-authored-by: henrygd <hank@henrygd.me >
2026-08-15 15:59:07 -04:00
henrygd
3337dff64b
ui: possible fix for android bitwarden autofill ( #1011 )
2026-08-15 12:18:26 -04:00
henrygd
bc55e249c4
ui: visually truncate public key on tokens settings page
2026-08-14 10:06:24 -04:00
Sven van Ginkel and GitHub
977826e8f3
feat(hub): show public key in universal token settings ( #2028 )
2026-08-14 10:04:40 -04:00
Sven van Ginkel and GitHub
35af36fbd2
bug: fix docker memory chart ( #2027 )
2026-08-13 19:21:40 -04:00
Sven van Ginkel and GitHub
e380ab6917
fix(ui): prevent usage bars from overflowing card border in grid view ( #2064 )
2026-08-13 19:18:43 -04:00
Pavel Artsishevsky and GitHub
1aa9fcd31d
Fixes redirect-based OAuth login when OAUTH_DISABLE_POPUP=true is set ( #2171 )
...
Switch to localStorage, which is shared across all tabs/windows of the
same origin. Also clean up the stored entry and strip the callback URL
on both success and failure paths.
2026-08-11 16:33:05 -04:00
henrygd
c1c1cd1bcb
ui: fix temperature chart filtering
2026-04-20 20:45:16 -04:00
Yvan Wang and GitHub
cd9ea51039
fix(hub): use rfcEmail validator to allow IDN/Punycode email addresses ( #1935 )
...
valibot's email() action uses a domain-label regex that disallows the
-- sequence, so Punycode ACE labels like xn--mnchen-3ya.de (the ASCII
form of münchen.de) are incorrectly rejected.
Switching to rfcEmail() applies the RFC 5321 domain-label pattern,
which allows hyphens within labels and therefore accepts both standard
and internationalized domain names.
2026-04-18 12:23:14 -04:00
henrygd
07466804e7
ui: allow filtering systems by host and agent version ( #163 )
2026-04-14 16:27:38 -04:00
be0b708064
feat(hub): add OAUTH_DISABLE_POPUP env var ( #1900 )
...
Co-authored-by: henrygd <hank@henrygd.me >
2026-04-13 20:00:05 -04:00
y0tka and GitHub
5b02158228
feat(ui): add theme state that follows system/browser theme ( #1903 )
2026-04-09 15:48:44 -04:00
henrygd
c3dffff5e4
hub: prevent non-admin users from sending test alerts to internal hosts
2026-04-07 16:08:28 -04:00
henrygd
a68e02ca84
update translations
2026-04-05 15:22:26 -04:00
c4009f2b43
feat: add more disk I/O metrics ( #1866 )
...
Co-authored-by: henrygd <hank@henrygd.me >
2026-04-04 18:28:05 -04:00
svenvg93 and hank
80b73c7faf
feat: implement the battery diectly instead of depency
2026-04-02 21:07:14 -04:00
afe9eb7a70
feat(hub): copy existing alerts between systems ( #1853 )
...
Co-authored-by: henrygd <hank@henrygd.me >
2026-04-02 18:04:45 -04:00
henrygd
20b0b40ec8
ui: no centered dialog headings and a few other tweaks
2026-03-31 15:40:52 -04:00
Malith Rukshan and GitHub
d548a012b4
fix(ui): revert CardTitle to text-2xl to fix tailwind-merge class override ( #1860 )
2026-03-31 14:55:23 -04:00
henrygd
f6440acb43
fix(ui): hide noop add system btn and smart actions for readonly users
2026-03-30 19:45:12 -04:00
henrygd
8202d746af
fix(hub): ui bug where charts didn't display 1m max until next update
2026-03-28 12:16:12 -04:00
henrygd
f7b5a505e8
update translations
2026-03-27 15:57:26 -04:00
henrygd
3cb32ac046
hub(ui): add spacing at bottom of the page if temp tooltip is very long
2026-03-27 14:54:31 -04:00
henrygd
e610d9bfc8
ui: standardize table styles
2026-03-27 14:08:59 -04:00
henrygd
b53fdbe0ef
fix(agent): find macmon if /opt/homebrew/bin is not in path ( #1746 )
2026-03-27 13:52:22 -04:00
henrygd
c7261b56f1
hub(ui): style cleanup and mobile improvements
2026-03-27 12:26:00 -04:00
henrygd
f04684b30a
hub(ui): small js optimizations
2026-03-26 19:16:39 -04:00
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 and sveng93
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
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 and GitHub
441bdd2ec5
fix: correct DST offset handling in daily quiet hours ( #1827 )
2026-03-22 12:50:36 -04:00
henrygd
0ab8a606e0
fix(ui): hooks bug in all systems table disk cell
2026-03-18 17:17:58 -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
380d2b1091
add ports column to containers table ( #1481 )
2026-03-14 19:29:39 -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
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 and GitHub
b012df5669
Fix volume path in Docker run command ( #1764 )
2026-02-24 15:47:16 -05:00
henrygd
e13a99fdac
ui: add fallback to display language code if no emoji / flag
2026-02-20 15:46:24 -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
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 and GitHub
01e8bdf040
feat: allow precise value entry for alerts via text input ( #1718 )
2026-02-19 13:15:12 -05:00
henrygd
4869c834bb
fix(ui): update bandwidth fallback to 0 when data is empty (avoid NaN)
2026-02-18 16:28:18 -05:00
henrygd
10d853c004
heartbeat: tweaks and tests ( #1729 )
2026-02-17 16:12:29 -05:00
Amir Moradi and GitHub
cdfd116da0
Add outbound heartbeat monitoring ( #1729 )
...
* feat: add outbound heartbeat monitoring to external endpoints
Allow Beszel hub to periodically ping an external monitoring service
(e.g. BetterStack, Uptime Kuma, Healthchecks.io) with system status
summaries, enabling monitoring without exposing Beszel to the internet.
Configuration via environment variables:
- BESZEL_HUB_HEARTBEAT_URL: endpoint to ping (required to enable)
- BESZEL_HUB_HEARTBEAT_INTERVAL: seconds between pings (default: 60)
- BESZEL_HUB_HEARTBEAT_METHOD: HTTP method - POST/GET/HEAD (default: POST)
2026-02-17 15:48:20 -05:00