3x-ui/sub
MHSanaei e7ac1fadaa
feat(sub): compact subscription rows with per-link email + PQ QR hide
Mirror the ClientInfoModal redesign on the public SubPage so the
subscription viewer reads as a tight `[PROTO] [remark] [copy] [QR]`
row per link instead of raw URL cards.

- subService.GetSubs now returns the per-link email list alongside the
  links, threaded through subController and BuildPageData into the
  `emails` field on subData (env.d.ts updated). Public links.go is
  updated to ignore the new return.
- SubPage strips the client email from each row title using the
  matched per-link email (same trimEmail behaviour as the modal), and
  hides the QR button for post-quantum links (`pqv=`, `mlkem768`,
  `mldsa65`) since the encoded URL won't fit in a single QR.
2026-05-27 03:11:59 +02:00
..
default.json dokodemo-door, socks renamed to mixed, tunnel 2025-09-09 13:57:40 +02:00
dist.go feat(inbounds): add sub/client link endpoints; hide panel version on login 2026-05-11 15:03:47 +02:00
links.go feat(sub): compact subscription rows with per-link email + PQ QR hide 2026-05-27 03:11:59 +02:00
links_test.go Feat/multi inbound clients (#4469) 2026-05-19 12:20:24 +02:00
sub.go Feat/multi inbound clients (#4469) 2026-05-19 12:20:24 +02:00
subClashService.go refactor(backend): retire hysteria2 as a top-level protocol 2026-05-27 00:58:37 +02:00
subClashService_test.go fix: address open bug reports (#4539, #4538, #4535, #4531, #4515) (#4545) 2026-05-25 00:08:06 +02:00
subController.go feat(sub): compact subscription rows with per-link email + PQ QR hide 2026-05-27 03:11:59 +02:00
subJsonService.go refactor(backend): retire hysteria2 as a top-level protocol 2026-05-27 00:58:37 +02:00
subService.go feat(sub): compact subscription rows with per-link email + PQ QR hide 2026-05-27 03:11:59 +02:00
subService_test.go fix: address open bug reports (#4539, #4538, #4535, #4531, #4515) (#4545) 2026-05-25 00:08:06 +02:00