3x-ui/web/html/form
MHSanaei 79a7e7a5b5
fix(vless): scope testseed to xtls-rprx-vision flow
testseed is only meaningful for the exact xtls-rprx-vision flow, but the
panel was emitting it for any non-empty flow (including the UDP variant)
and keeping it on the inbound after the flow was cleared via the client
modal. Tighten the gate end-to-end:

- VLESSSettings.toJson (inbound + outbound) now only emits testseed when
  the flow is exactly xtls-rprx-vision and the array is 4 positive ints;
  default state is empty so unmodified inbounds omit the field entirely.
- canEnableVisionSeed drops the udp443 variant per spec.
- Form adds a tooltip + theme-aware help text and an inline error when
  the user partially fills the four inputs; submit is blocked in that
  state. Reset clears to empty (= use server defaults).
- UpdateInboundClient strips a now-orphaned testseed when the spliced
  client no longer leaves any XRV flow in the inbound.
- MigrationRequirements cleans up legacy rows where testseed lingered
  after flow changes or was saved for non-XRV flows by older versions.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-07 14:44:33 +02:00
..
protocol fix(vless): scope testseed to xtls-rprx-vision flow 2026-05-07 14:44:33 +02:00
stream Update QUIC params defaults and UI validations 2026-05-04 17:42:55 +02:00
client.html new: vless reverse 2026-05-05 21:00:03 +02:00
inbound.html fix(security): sanitize remote IP headers and escape log viewer output 2026-05-04 16:39:29 +02:00
outbound.html outbound: reverse Sniffing 2026-05-06 08:17:27 +02:00
reality_settings.html finalmask 2026-04-20 16:55:06 +02:00
sniffing.html TLS: Remove ECH Force Query 2026-05-04 13:20:24 +02:00
tls_settings.html fix(security): sanitize remote IP headers and escape log viewer output 2026-05-04 16:39:29 +02:00