3x-ui/internal
Sanaei a652cb8cea fix(clients): keep a client editable when its subId is already shared (#6065)
The subId collision check in Update ran on every save, unlike the email
check above it. Because Update defaults an omitted subId to the stored
one, any client already sharing a subId was rejected on every later edit
-- even a pure totalGB or expiry change that never mentions subId.

Gate the check on an actual change. Pre-existing duplicates are reachable
because SyncInbound has no such check, and 88a36773 meant to leave them
untouched. Editing a client onto another subscriber's subId is still
rejected, so the typo guard is intact.
2026-07-24 22:18:39 +02:00
..
config v3.5.0 2026-07-12 22:08:19 +02:00
database fix(hosts): assign group ids to imported hosts and repair empty ones 2026-07-23 18:52:42 +02:00
eventbus Repo-wide self-correcting audit: 54 verified bug fixes (#5970) 2026-07-17 00:33:06 +02:00
logger fix(inbounds): apply runtime changes after the DB commit (#5768) 2026-07-08 22:12:28 +02:00
mtproto refactor: modernize Go with strings.SplitSeq and maps.Copy 2026-07-08 22:10:54 +02:00
sub feat(sub): expose live online status and add ?format=info endpoint 2026-07-23 23:57:29 +02:00
tunnelmonitor style: adopt golangci-lint v2 and resolve all findings 2026-06-27 15:42:22 +02:00
util Repo-wide self-correcting audit: 54 verified bug fixes (#5970) 2026-07-17 00:33:06 +02:00
web fix(clients): keep a client editable when its subId is already shared (#6065) 2026-07-24 22:18:39 +02:00
xray Bug-label issue sweep: 16 fixes (#6083) 2026-07-23 15:34:42 +02:00