MHSanaei
823db05966
fix(inbounds): keep the stored client list and enable on inbound save
...
Invariant: saving an inbound's configuration never changes which clients it
holds nor whether it is enabled; both have their own endpoints. The edit
modal posts back the clients and the enable flag it loaded when it opened.
A client added meanwhile (another admin, the bot, the API, LDAP) was
detached and its stats deleted; a client deleted meanwhile came back with
its credentials, restoring access that had been revoked; an inbound
switched off meanwhile was switched back on.
For every save but a master's node-sync push, UpdateInbound now takes the
client list and enable from the row it re-reads inside the writer; this
replaces the lifecycle-only carry from the previous commit. Client
validation (renewal schedule, Hysteria auth, TUIC credentials) moves after
that swap so it judges the clients actually saved: a protocol switch keeps
the stored clients, and #6268 's refusal must apply to them.
The edit form no longer loads or sends clients, so neither the JSON editor
nor validation sees a copy the server ignores, and the enable switch shows
only when adding; the list toggle (/setEnable) covers existing inbounds.
Tests that added or re-keyed clients through a panel inbound save pinned
the old rule; they now drive the master-push path, where payload clients
still apply.
2026-09-28 13:23:48 +02:00
..
2026-09-09 01:53:00 +02:00
2026-09-09 01:53:00 +02:00
2026-07-08 13:28:37 +02:00
2026-08-24 02:41:15 +02:00
2026-09-08 16:55:32 +02:00
2026-09-03 21:50:23 +02:00
2026-09-10 14:50:48 +02:00
2026-09-26 22:02:49 +02:00
2026-08-19 15:36:27 +02:00
2026-09-25 21:21:03 +02:00
2026-08-19 15:36:27 +02:00
2026-08-19 15:36:27 +02:00
2026-08-19 15:36:27 +02:00
2026-08-19 15:36:27 +02:00
2026-09-14 15:59:34 +02:00
2026-07-17 00:33:06 +02:00
2026-09-14 15:59:34 +02:00
2026-09-14 12:10:25 +02:00
2026-09-16 11:56:20 +02:00
2026-09-26 22:59:23 +02:00
2026-09-26 22:59:23 +02:00
2026-08-19 15:36:27 +02:00
2026-09-03 22:32:05 +02:00
2026-08-19 15:36:27 +02:00
2026-09-12 10:15:48 +02:00
2026-09-13 12:44:55 +02:00
2026-09-27 16:06:42 +02:00
2026-09-26 22:59:23 +02:00
2026-07-17 00:33:06 +02:00
2026-06-11 12:10:49 +02:00
2026-08-24 02:41:15 +02:00
2026-09-13 12:44:55 +02:00
2026-09-25 21:21:03 +02:00
2026-08-19 15:36:27 +02:00
2026-08-19 15:36:27 +02:00
2026-09-25 21:21:03 +02:00
2026-09-25 21:21:03 +02:00
2026-08-19 15:36:27 +02:00
2026-07-09 00:45:35 +02:00
2026-09-09 00:47:18 +02:00
2026-08-19 15:36:27 +02:00
2026-08-19 15:36:27 +02:00
2026-07-29 08:03:21 +02:00
2026-08-19 15:36:27 +02:00
2026-09-08 18:08:24 +02:00
2026-09-14 12:08:38 +02:00
2026-09-25 21:21:03 +02:00
2026-08-19 15:36:27 +02:00
2026-09-25 21:21:03 +02:00
2026-08-19 15:36:27 +02:00
2026-09-13 20:02:43 +02:00
2026-09-26 22:57:01 +02:00
2026-09-26 22:57:01 +02:00
2026-09-26 22:57:01 +02:00
2026-09-26 22:57:01 +02:00
2026-09-13 12:53:57 +02:00
2026-08-19 15:36:27 +02:00
2026-09-12 10:15:48 +02:00
2026-06-29 14:32:23 +02:00
2026-08-19 15:36:27 +02:00
2026-08-19 15:36:27 +02:00
2026-08-19 15:36:27 +02:00
2026-08-19 15:36:27 +02:00
2026-08-19 15:36:27 +02:00
2026-09-12 10:15:48 +02:00
2026-09-27 12:26:37 +02:00
2026-08-19 15:36:27 +02:00
2026-09-28 13:23:48 +02:00
2026-08-19 15:36:27 +02:00
2026-08-19 15:36:27 +02:00
2026-09-13 22:03:50 +02:00
2026-09-12 10:15:48 +02:00
2026-09-12 10:15:48 +02:00
2026-09-08 18:08:24 +02:00
2026-09-15 21:06:32 +02:00
2026-09-27 01:06:17 +02:00
2026-09-25 21:21:03 +02:00
2026-09-03 16:33:37 +02:00
2026-09-12 10:15:48 +02:00
2026-08-19 15:36:27 +02:00
2026-08-19 15:36:27 +02:00
2026-09-14 16:00:13 +02:00
2026-09-13 12:44:55 +02:00
2026-09-26 20:31:50 +02:00
2026-09-15 21:06:32 +02:00
2026-07-17 00:33:06 +02:00
2026-09-25 21:21:03 +02:00
2026-08-19 15:36:27 +02:00
2026-07-28 23:03:13 +02:00
2026-09-03 21:20:38 +02:00
2026-09-11 11:59:35 +02:00
2026-08-19 15:36:27 +02:00
2026-09-15 16:00:05 +02:00
2026-09-14 12:08:38 +02:00
2026-09-14 19:53:57 +03:00
2026-09-13 22:28:13 +02:00
2026-09-14 15:02:58 +02:00
2026-08-19 15:36:27 +02:00
2026-09-14 19:53:57 +03:00
2026-08-22 23:11:06 +02:00
2026-09-14 19:53:05 +03:00
2026-09-15 21:21:36 +02:00
2026-09-25 21:21:03 +02:00
2026-08-19 15:36:27 +02:00
2026-08-19 15:36:27 +02:00
2026-09-16 01:55:56 +02:00
2026-09-12 11:13:45 +02:00
2026-09-25 21:21:03 +02:00
2026-08-19 15:36:27 +02:00
2026-08-19 15:36:27 +02:00
2026-08-19 15:36:27 +02:00
2026-08-19 15:36:27 +02:00
2026-08-19 15:36:27 +02:00
2026-09-25 21:21:03 +02:00
2026-08-19 15:36:27 +02:00
2026-08-19 15:36:27 +02:00
2026-06-28 18:10:38 +02:00
2026-09-15 21:13:29 +02:00
2026-07-28 22:12:52 +02:00
2026-09-08 17:14:01 +02:00
2026-08-19 15:36:27 +02:00
2026-09-25 21:21:03 +02:00
2026-07-08 13:28:37 +02:00
2026-05-27 04:26:50 +02:00
2026-06-14 22:39:40 +02:00
2026-07-17 00:33:06 +02:00
2026-08-19 15:36:27 +02:00
2026-07-14 13:00:25 +02:00
2026-07-02 12:53:08 +02:00
2026-09-26 03:31:51 +02:00
2026-09-15 22:04:00 +02:00
2026-09-08 18:08:24 +02:00
2026-08-19 15:36:27 +02:00
2026-09-16 01:55:56 +02:00
2026-09-02 20:21:27 +02:00
2026-09-16 01:55:56 +02:00
2026-09-27 16:06:42 +02:00
2026-08-19 15:36:27 +02:00
2026-09-03 16:35:07 +02:00
2026-09-12 10:15:48 +02:00
2026-06-24 12:54:05 +02:00
2026-08-24 14:56:40 +02:00
2026-09-14 15:02:58 +02:00
2026-09-14 16:00:13 +02:00
2026-08-19 15:36:27 +02:00
2026-08-19 15:36:27 +02:00
2026-08-19 15:36:27 +02:00
2026-07-17 00:33:06 +02:00
2026-07-17 00:33:06 +02:00
2026-08-19 15:36:27 +02:00
2026-08-19 15:36:27 +02:00
2026-06-23 17:38:16 +02:00
2026-08-19 15:36:27 +02:00