mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-08-13 23:01:00 +00:00
feat(balancers): tabbed Observatory/Burst Observatory form (#5627)
* feat(balancers): tabbed Observatory/Burst form replacing raw JSON Replace the raw JSON editor for the Observatory / Burst Observatory sections with a proper Ant Design form, and split the Balancers page into two sub-tabs: "Balancer Settings" (the existing table) and "Observatory". Observers stay fully auto-managed by balancer strategy through the existing syncObservatories logic: users edit only the tunable probe fields, the subjectSelector is shown read-only since it is derived from the balancers, and deleting the last balancer that needs an observer now warns in the confirm dialog that the observer will be removed too. Overlapping selectors keep an observer alive while any balancer still references it. Also add the previously missing pingConfig.httpMethod field (HEAD/GET) and translations for the new strings across all 13 locales. * refactor(balancers): tighten httpMethod typing and align connectivity default Address automated review feedback on the Observatory form: - Use the ObservatoryHttpMethodSchema enum for pingConfig.httpMethod instead of a free-form z.string(), and drive the HTTP method Select from its options. Removes the previously dead enum export and the duplicate local list, and types the field as 'HEAD' | 'GET'. - Align the schema's connectivity default with DEFAULT_BURST_OBSERVATORY (the hicloud URL) so it matches what burst observers are actually created with. No behavior change.
This commit is contained in:
@@ -1663,6 +1663,36 @@
|
||||
"toastDeleted": "Excluído",
|
||||
"toastDeleteFailed": "Falha ao excluir"
|
||||
},
|
||||
"tabBalancerSettings": "Configurações do balanceador",
|
||||
"tabObservatory": "Observatório",
|
||||
"observatory": {
|
||||
"title": "Observatório",
|
||||
"burstTitle": "Observatório Burst",
|
||||
"autoManaged": "Os observadores são gerenciados automaticamente a partir dos seus balanceadores. Ajuste abaixo como eles sondam; as saídas monitoradas seguem os seletores do balanceador.",
|
||||
"emptyHint": "Nenhum observador de conexão ativo. Um é adicionado automaticamente ao criar um balanceador Least Ping ou Least Load — ou um balanceador Random / Round-robin com fallback — para que o balanceador possa medir suas saídas e escolher a melhor.",
|
||||
"subjectSelector": "Saídas monitoradas",
|
||||
"subjectSelectorDesc": "Tags de saída que este observador sonda. Gerenciadas automaticamente a partir dos seus balanceadores.",
|
||||
"probeURL": "URL de sondagem",
|
||||
"probeURLDesc": "URL requisitada para medir cada saída. Deve retornar HTTP 204.",
|
||||
"probeInterval": "Intervalo de sondagem",
|
||||
"probeIntervalDesc": "Com que frequência sondar cada saída, ex.: 30s, 1m, 2h45m.",
|
||||
"enableConcurrency": "Sondagem concorrente",
|
||||
"enableConcurrencyDesc": "Sonda todas as saídas monitoradas de uma vez, em vez de uma a uma. Mais rápido, mas mais visível na rede.",
|
||||
"destination": "Destino da sondagem",
|
||||
"destinationDesc": "URL requisitada para medir cada saída. Deve retornar HTTP 204.",
|
||||
"connectivity": "Verificação de conectividade",
|
||||
"connectivityDesc": "URL opcional de verificação da rede local, testada apenas após o destino falhar. Deixe vazio para ignorar.",
|
||||
"interval": "Intervalo de sondagem",
|
||||
"intervalDesc": "Tempo médio entre sondagens por saída, ex.: 1m. Mínimo 10s.",
|
||||
"timeout": "Tempo limite da sondagem",
|
||||
"timeoutDesc": "Quanto esperar por uma sondagem antes de considerá-la falha, ex.: 5s.",
|
||||
"sampling": "Número de amostras",
|
||||
"samplingDesc": "Número de resultados de sondagem recentes mantidos para pontuar cada saída.",
|
||||
"httpMethod": "Método HTTP",
|
||||
"httpMethodDesc": "Método HTTP usado nas sondagens.",
|
||||
"deleteAlsoObservatory": "Este é o último balanceador que usa o Observatório, então ele também será removido.",
|
||||
"deleteAlsoBurst": "Este é o último balanceador que usa o Observatório Burst, então ele também será removido."
|
||||
},
|
||||
"balancer": {
|
||||
"addBalancer": "Adicionar Balanceador",
|
||||
"editBalancer": "Editar Balanceador",
|
||||
|
||||
Reference in New Issue
Block a user