mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-07-21 20:16:08 +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": "Eliminada",
|
||||
"toastDeleteFailed": "Error al eliminar"
|
||||
},
|
||||
"tabBalancerSettings": "Ajustes del balanceador",
|
||||
"tabObservatory": "Observatorio",
|
||||
"observatory": {
|
||||
"title": "Observatorio",
|
||||
"burstTitle": "Observatorio Burst",
|
||||
"autoManaged": "Los observadores se gestionan automáticamente a partir de tus balanceadores. Ajusta abajo cómo sondean; las salidas vigiladas siguen los selectores del balanceador.",
|
||||
"emptyHint": "No hay ningún observador de conexión activo. Se añade uno automáticamente al crear un balanceador Least Ping o Least Load —o un balanceador Random / Round-robin con fallback— para que el balanceador pueda medir tus salidas y elegir la mejor.",
|
||||
"subjectSelector": "Salidas vigiladas",
|
||||
"subjectSelectorDesc": "Etiquetas de salida que sondea este observador. Se gestionan automáticamente a partir de tus balanceadores.",
|
||||
"probeURL": "URL de sondeo",
|
||||
"probeURLDesc": "URL solicitada para medir cada salida. Debe devolver HTTP 204.",
|
||||
"probeInterval": "Intervalo de sondeo",
|
||||
"probeIntervalDesc": "Con qué frecuencia se sondea cada salida, p. ej. 30s, 1m, 2h45m.",
|
||||
"enableConcurrency": "Sondeo concurrente",
|
||||
"enableConcurrencyDesc": "Sondea todas las salidas vigiladas a la vez en lugar de una a una. Más rápido, pero más visible en la red.",
|
||||
"destination": "Destino de sondeo",
|
||||
"destinationDesc": "URL solicitada para medir cada salida. Debe devolver HTTP 204.",
|
||||
"connectivity": "Comprobación de conectividad",
|
||||
"connectivityDesc": "URL opcional de comprobación de red local, se prueba solo si falla el destino. Déjalo vacío para omitir.",
|
||||
"interval": "Intervalo de sondeo",
|
||||
"intervalDesc": "Tiempo medio entre sondeos por salida, p. ej. 1m. Mínimo 10s.",
|
||||
"timeout": "Tiempo de espera del sondeo",
|
||||
"timeoutDesc": "Cuánto esperar un sondeo antes de considerarlo fallido, p. ej. 5s.",
|
||||
"sampling": "Número de muestras",
|
||||
"samplingDesc": "Número de resultados de sondeo recientes que se conservan para puntuar cada salida.",
|
||||
"httpMethod": "Método HTTP",
|
||||
"httpMethodDesc": "Método HTTP usado para los sondeos.",
|
||||
"deleteAlsoObservatory": "Este es el último balanceador que usa el Observatorio, por lo que también se eliminará.",
|
||||
"deleteAlsoBurst": "Este es el último balanceador que usa el Observatorio Burst, por lo que también se eliminará."
|
||||
},
|
||||
"balancer": {
|
||||
"addBalancer": "Agregar equilibrador",
|
||||
"editBalancer": "Editar balanceador",
|
||||
|
||||
Reference in New Issue
Block a user