3x-ui/frontend/src
MHSanaei 971843f669
feat(nodes): bulk panel self-update with live online indicator
Adds the ability to update node panels to the latest release from the Nodes
page: select online, enabled nodes (checkboxes) and trigger their official
self-updater, or use the per-row Update action. A node whose reported panel
version trails the latest GitHub release is flagged with an 'update available'
tag (compared via lib/panel-version, mirroring the Go isNewerVersion).

Backend: Remote.UpdatePanel calls the node's existing
POST /panel/api/server/updatePanel; NodeService.UpdatePanels fans out over the
selected ids, skipping disabled/offline nodes with a per-node reason; exposed
as POST /panel/api/nodes/updatePanel (documented in endpoints.ts + openapi.json).

The bulk request sends a JSON body, so it sets Content-Type: application/json
explicitly — axios defaults POST to form-urlencoded, which made ShouldBindJSON
fail with 'invalid character i'.

Also reuses the clients-page online cue on the Nodes page: a pulsing green dot
plus green label for an online node. The .online-dot style moved to the shared
styles/utils.css so both pages load it.

Translations for all new node keys added across every language file.
2026-06-01 07:03:06 +02:00
..
api feat(nodes): bulk panel self-update with live online indicator 2026-06-01 07:03:06 +02:00
components refactor(frontend): reorganize source tree & break down oversized modals/tabs (#4698) 2026-05-30 21:51:33 +02:00
entries Migrate frontend models/api/utils to TypeScript and modernize AntD theming (#4563) 2026-05-25 14:34:53 +02:00
generated fix(settings): sync generated schemas 2026-05-31 19:00:26 +02:00
hooks fix(clients): keep the summary card live without a page refresh 2026-06-01 06:10:25 +02:00
i18n Frontend rewrite: React + TypeScript with AntD v6 (#4498) 2026-05-23 15:21:45 +02:00
layouts refactor(frontend): reorganize source tree & break down oversized modals/tabs (#4698) 2026-05-30 21:51:33 +02:00
lib feat(nodes): bulk panel self-update with live online indicator 2026-06-01 07:03:06 +02:00
models fix(inbounds): preserve client data on delete and show traffic in detail 2026-05-30 23:53:28 +02:00
pages feat(nodes): bulk panel self-update with live online indicator 2026-06-01 07:03:06 +02:00
schemas fix(outbounds): prevent freedom save crash, complete its fields (#4686) 2026-05-31 19:50:50 +02:00
styles feat(nodes): bulk panel self-update with live online indicator 2026-06-01 07:03:06 +02:00
test feat(nodes): bulk panel self-update with live online indicator 2026-06-01 07:03:06 +02:00
utils feat: complete Zod migration of frontend + bulk client batching (#4599) 2026-05-27 04:26:50 +02:00
env.d.ts feat(postgres): in-panel backup/restore and consistent CLI backend 2026-05-31 17:53:34 +02:00
main.tsx Migrate frontend models/api/utils to TypeScript and modernize AntD theming (#4563) 2026-05-25 14:34:53 +02:00
queryClient.ts feat(frontend): TanStack Query + React Router migration & in-panel API docs (#4541) 2026-05-24 21:34:52 +02:00
routes.tsx feat(clients,groups): client groups + sub-links export + dedicated groups page 2026-05-27 17:30:55 +02:00