CAPTCHA legible y exterior blanco de la prueba

El 2 de noviembre, el propietario informó que el diálogo de Turnstile se cerraba inmediatamente mientras el respaldo seguía pendiente. El código cerraba el diálogo tanto en éxito como en error, ocultando el motivo. El propietario revisó Cloudflare, añadió arbatarchery.com y posteriormente informó que la página funcionaba. No se capturó el código real del error anterior; el código 110200 se usa como caso simulado, no como diagnóstico observado.

Se corrigió la interfaz: errores de carga/widget, expiración y timeout mantienen el diálogo abierto con un mensaje y Reintentar verificación. Solo una validación correcta o el cierre explícito resuelven/cancelan la interacción. Una sesión Buddy puede cancelarla para evitar desafío adicional. Se aceptan solo códigos públicos numéricos de seis dígitos; no se muestran respuestas crudas ni tokens. Los callbacks obsoletos de un widget anterior no pueden completar un nuevo intento. Se desactivan reintentos automáticos del widget y se conserva el control explícito del reintento. El rechazo de CAPTCHA por Supabase se diferencia de fallos del widget, límites de intentos y proveedor anónimo deshabilitado. La barra y el panel conservan el diagnóstico aunque el motor vuelva a detectar falta de CAPTCHA.

El propietario pidió fondo blanco y texto exterior negro en la nueva página, conservando cajas y diana grises. Se añadió domain-theme.css solo al artefacto de entrenamiento bajo /pruebas/supabase/; los recursos originales de entrenamiento no cambian de tema. Mantiene los colores claros de los textos dentro de las tarjetas grises, con títulos/fecha/estado externos oscuros y controles de prueba claros. El historial conserva su tema anterior. El área de almacenamiento permanece separada y no hay cambios de SQL/Secrets.

Validación: 166 pruebas locales aprobadas. Chrome verificó fondo blanco, encabezado/estado oscuro, cajas rgb(32,40,49), error simulado de Turnstile visible y diálogo abierto sin alta anónima; después Buddy confirmó los registros sin CAPTCHA/signup ni telemetría real. Otro recorrido Chrome validó los cinco estados desktop y barra móvil a 320/390/859/1024/1440 px, y los lotes offline. Todas las solicitudes de autenticación y desafíos de estas pruebas fueron simuladas; no se resolvió un CAPTCHA real mediante automatización. Captura output/supabase-sync/domain-white-theme.png.

Publicación preparada: arbatarchery/arbat_frontend:feature/supabase-captcha-theme, commit 432b17a7dc7eee2b863d92d9100dc1309d9942af, árbol d17a660701c6e387a4413a29ed9748f70adc9256, sobre main 86b38b744032b69929a0970f1fca7e7eb4d32dd4. Comparación remota: ocho archivos bajo pruebas/supabase, siete modificados y una hoja de estilo nueva. No se ha creado ni fusionado la propuesta por la restricción conocida de escritura de la integración en asosab. Crear/fusionar desde https://github.com/asosab/arbat_frontend/compare/main…arbatarchery:feature/supabase-captcha-theme?expand=1. No se requiere otro cambio en Supabase.

Referencias oficiales revisadas: https://developers.cloudflare.com/turnstile/troubleshooting/client-side-errors/error-codes/ y https://developers.cloudflare.com/turnstile/get-started/client-side-rendering/widget-configurations/.