3x-ui/xray
abdulrahman 73b2d64247 fix(multi-node): scope tag and email unique constraints per node
inbounds.tag was globally UNIQUE which prevents two remote nodes from having inbounds on the same port. client_traffics.email was globally UNIQUE which causes transaction rollback when different nodes have clients with the same email.

Changed both to composite unique indexes scoped by their parent ((node_id, tag) and (inbound_id, email)). tagExists() is now node-aware so UI tag generation doesn't see remote node tags as conflicts. Adds migrateLegacyUniqueConstraints() to drop old constraints on startup.
2026-05-12 18:57:25 +03:00
..
api.go avoid reset in QueryStatsRequest (#4202) 2026-05-10 10:59:42 +02:00
client_traffic.go fix(multi-node): scope tag and email unique constraints per node 2026-05-12 18:57:25 +03:00
config.go v3 2026-05-10 02:13:42 +02:00
inbound.go v3 2026-05-10 02:13:42 +02:00
log_writer.go v3 2026-05-10 02:13:42 +02:00
process.go fix(xray): implement graceful shutdown for xray process and add tests (#4259) 2026-05-11 14:11:40 +02:00
process_test.go fix(xray): implement graceful shutdown for xray process and add tests (#4259) 2026-05-11 14:11:40 +02:00
traffic.go docs: add comments for all functions 2025-09-20 09:35:50 +02:00