fix(sub): {{INBOUND}} = inbound remark, fix {{TRAFFIC_LEFT}} across inbounds (#5443)

Issue 1: the host endpoint remark no longer substitutes the inbound remark
as the config name. {{INBOUND}} always resolves to the inbound's own remark
and {{HOST}} to the host remark, so both can be shown side by side instead
of the host name appearing twice. configName() drops hostRemark entirely;
token help text updated in all locales.

Issue 2: client_traffics.email is globally unique, so a client shared across
several inbounds of one subscription has a single traffic row owned by one
inbound. statsForClient only searched the current inbound's preloaded
ClientStats, missing on every other inbound's link and falling back to
Up=Down=0 -- so {{TRAFFIC_LEFT}} printed the full quota. Build a per-request
email->stats map from all the subscription's inbounds (no extra queries) and
fall back to it.
This commit is contained in:
MHSanaei
2026-06-20 10:54:26 +02:00
parent 6a032bcb2a
commit 6d9fd4b41b
17 changed files with 95 additions and 46 deletions
+1 -1
View File
@@ -1761,7 +1761,7 @@
"time": "Tempo e status"
},
"descEMAIL": "Email do cliente",
"descINBOUND": "Nome da configuração: a observação do host quando definida, caso contrário a observação da entrada",
"descINBOUND": "Observação da própria entrada (nome da configuração)",
"descHOST": "Observação do host",
"descID": "UUID do cliente",
"descSHORT_ID": "Primeiros 8 caracteres do UUID",