REGISTRO DE
ACTUALIZACIONES
Historial de cambios y avisos de lo que viene en cada servicio.
Historial
Cambios ya aplicados en cada servicio.
Nueva landing y splash del panel más limpio
Hero, simulador de chat, FAQ y Discord en el header. La carga del panel usa una barra continua, sin halo.
Historial de preguntas, reinicio selectivo y sesión más fiable
Persiste preguntas en Supabase, permite reiniciar stats e historial por separado, respeta plan/cuota de la DB al iniciar sesión, corrige el toast de logout y estabiliza dropdowns/settings. Incluye partición de módulos grandes (auth, commands, system, UI).
Fix refresh 404 en rutas del dashboard
Restaura /dashboard/(.*) → index.html; :path* no atrapaba nested paths con trailingSlash.
Restaurar dropdowns legibles en temas oscuros
El select nativo pintaba opciones casi negras sobre fondo oscuro; vuelve el menú custom con contraste del tema.
Fix Realtime: sub UUID y claim user_id Twitch
Supabase apply_rls castea auth.uid() a uuid; el id de Twitch ya no va en sub.
Ruleta rusa, Nightbot y rate limiting más correctos
Tambor atómico, límites Nightbot, plantillas con replaceAll y rate limit tras autenticar sin mensajes 500 filtrados.
Overlays, clips y minijuegos más estables
Publicación overlay latest-wins, TMI más robusto, keywords exactos, lang en pruebas y retries solo en métodos seguros.
Analíticas y borrado de datos más fiables
KPIs desde stats diarias, timezones IANA válidas, leaderboard agregado y exportación sin filtrar la API key.
Login y sesiones más seguros
OAuth state obligatorio, revocación de sesión más fiable y API keys hasheadas en almacenamiento.
Slots, Preguntas, seguridad del panel y UI por tema
Minijuego Slots y herramienta Preguntas (sustituye Sorteos); hardenings (OAuth sin apiKey, SSRF Nightbot, XSS actividad, rate limit feedback); analíticas con colores por tema; footer alineado con la franja del sidebar; reorg FE/BE minigames/tools y caché L1 más segura.
Integrar StreamElements API, limpiar logica vieja y agregar disclaimer en UI
Optimizar memoria y accesibilidad del generador QR
Rediseñar formulario izquierdo en tarjeta unificada con personalización colapsable
- SidebarForm: las dos tarjetas separadas ahora son una sola con secciones - Personalización oculta bajo un acordeón para no abrumar al usuario - Botón de descarga movido de vuelta al panel derecho debajo del QR - QRPreview: el canvas ocupa todo el ancho del panel en la parte superior - Diseño más limpio y organizado visualmente
Añadir preview en vivo y optimizar generador QR
- Implementado hook useQRPreview para renderizar el QR en tiempo real en el cliente sin consumir el servidor - Separada la lógica de preview (cliente) y descarga en alta resolución (servidor/rate limit) - Añadidos contadores de caracteres y vista previa de logo en el formulario - Solucionado problema de concurrencia en Redis (pipeline atómico INCR+TTL) para evitar rate limits huérfanos - Añadidos
Optimizacion exhaustiva, seguridad y correcciones de bugs
Rediseñar y optimizar UI del simulador de chat en Generador de Comandos
Agregar recomendación de tamaño de OBS dinámico en el generador
Mejoras visuales en el generador de comandos y modal
Rediseño y mejoras visuales en panel, ajustes y modales
- Implementación del componente Sheet para vistas detalladas (Historial de Actividad, Overlay). - Actualización de estilos globales en modales (bordes redondeados, sombras mejoradas). - Nuevas animaciones de carga (pulse) para los Skeletons. - Rediseño de tarjetas en la sección de Ajustes y Zona de Peligro. - Unificación del layout y espaciado del Dashboard para mejor integración del menú lateral.
Configuracion en pestanas General, Seguridad y Conexiones
Separa ajustes, API Key/zona de peligro y Discord con URLs propias (/dashboard/settings/...). Actualiza la documentacion del panel.
Followage: canal editable y ejemplo mynana17
Quita el bloqueo que exigia API key del mismo canal y deja probar cualquier follower.
Historial y analytics se refrescan mas rapido en el panel
Acorta el poll de seguridad del realtime, sincroniza actividad entre pestanas y evita borrar contadores por fecha obsoleta.
Roles con ventajas reales: cuota API, heavy y caché diferenciados.
Cada rol escala req/min, endpoints pesados (clips/chatters) y frescura/retención de caché; docs y panel alineados.
Avisos Discord de sesion: esperar el insert antes de responder
En Vercel el void tras la respuesta se cortaba y el bot no recibía login/logout.
Modales: el boton primario ya no queda marcado al abrir
El foco va al panel en vez del CTA, igual que se evito con la X.
Aviso por Discord al iniciar o cerrar sesion en el panel
Si tienes Discord vinculado, el bot te avisa por DM (y log en el server) al login/logout.
Followage: distinguir 'no sigue' de falta de permiso con probe Helix
Twitch a veces devuelve data vacía con total alto aunque el token tenga scope; el probe confirma si realmente podemos listar followers.
Followage: invalidar cache de API key al re-login para usar token con scopes
Tras OAuth se limpia validKeysCache; el L1 guarda el accessToken renovado; validateToken 401 fuerza refresh.
Followage: detectar scope faltante y forzar re-login con permisos
Si Twitch devuelve data vacia, valida moderator:read:followers y pide volver a entrar. OAuth usa force_verify.
Followage: detectar falta de permisos y dejar de cachear errores en CDN
Twitch devuelve data vacia con total>0 sin scope/mod; ahora se informa claro y se renueva el token en 401. Los comandos ya creados en Nightbot/SE no cambian.
Preservar Discord al re-login y permitir followage en canales donde eres mod
El login Twitch ya no borra el vínculo Discord, y la prueba de followage acepta tu canal o uno donde seas moderador.
Followage: validar canal propio y mensajes de error claros
Evita consultas a canales ajenos y corrige la prueba del panel cuando los campos van al revés.
Corregir prueba de followage vacía y simplificar modal de overlay
La prueba ya no muestra éxito sin texto, y el overlay solo pide copiar la URL sin la cajita enmascarada.
Mostrar toasts por encima de los modales
El toaster usa top layer (popover) para que no quede tapado por dialog showModal.
Nuevo Discord de LosPerris
Actualiza el invite de la comunidad a https://discord.gg/PJbExZe7Tp.
Nuevo Discord de LosPerris
Actualiza el invite de la comunidad a https://discord.gg/PJbExZe7Tp en panel, landing, legal y docs.
Feedback con identidad Twitch, Discord o anónimo
Puedes enviar feedback anónimo, como Twitch, o como Discord si está vinculado. El modal ya no enfoca la X al abrirse.
Mejorar modal de Discord vinculado: comandos, tickets y foco
El aviso lista /cuenta /limite /status /ayuda y sugiere ticket para ayuda personalizada. Al abrir, el foco va a Entendido en lugar de la X.
Unificar Zona de Peligro en un solo bloque
Reiniciar estadisticas y eliminar cuenta quedan en la misma tarjeta, separados por un divisor.
Modales de Discord y API Key al estilo del aviso de login
Misma estructura: texto claro, checklist con iconos y CTAs mas claros en vincular, desvincular, resultado y regenerar key.
Desvincular Discord ya no cierra la sesion del panel
invalidateUserCache revocaba la cookie lp_sess por defecto; Discord link/unlink lo disparaba y user-info devolvia 401. Ahora no revoca y limpia el flag auth:revoke si quedo activo.
Vincular Discord ya no toca la sesion ni las caches de Twitch
Al vincular o desvincular Discord solo se invalida el perfil/usuario. Antes se vaciaba Helix, overlay y stats, y eso podia tumbar el panel.
El panel ya no falla si Twitch no da seguidores o estado en vivo
Los seguidores y el estado en directo son datos secundarios: si Twitch falla (por ejemplo, si al token le falta el permiso para leer seguidores) el perfil sigue cargando y muestra un guion en vez de romperse con error 401. Antes, al desvincular Discord se invalidaba la cache y el panel quedaba en bucle de error.
Puente visual entre hero y stats en el landing
Rellena el vacio del primer viewport con 3 pasos cortos y un hint para scrollear al flujo.
Inicio de sesión más seguro con cookies
La sesión del panel ahora usa cookies HttpOnly en lugar de guardar secretos en el navegador. Si tenías sesión antigua, tendrás que volver a conectar tu cuenta de Twitch una vez.
Soporte nativo para Streamlabs en el generador de comandos
Alinea variables con Fossabot, StreamElements y Wizebot, y añade soporte para Streamlabs Cloudbot en el generador.
Nueva landing de Twitch con consola interactiva
Mejoramos la página principal con animaciones y un diseño más moderno. Además, puedes simular respuestas de la API en la terminal sin registrarte. Las configuraciones de cuenta quedan en la pestaña Ajustes.
Corregir vista previa del QR cuando el logo supera el tamaño máximo
Añadir región BR al selector y mostrar 6 regiones
Valorant API en vlr.losperris.dev
La API de Valorant ya vive en vlr.losperris.dev, independiente del proxy. Rutas nuevas: / (landing), /docs y /api/rank|match|today|stats|summary|system/stats. La URL antigua /api/valorant ya no se usa.
Generador QR en subdominio propio
El generador de códigos QR ahora vive en qr.losperris.dev, independiente del proxy de losperris.dev. Nuevas rutas: / (generador), /docs y POST /api/generate. La URL antigua /api/qr ya no se usa.
Overlays OBS en beta (Ruleta y Tendencias)
Nuevos overlays para OBS: Ruleta y Tendencias, con enlace seguro, guía de configuración en el panel y visibilidad inteligente (se ocultan en reposo). Función en beta: puede recibir ajustes mientras la probamos.
Mejoras en Landing de Twitch
Detección de sesión activa para cambiar automáticamente el botón a 'Ir al Panel'. Se agregaron etiquetas de comando a la sección de minijuegos.
Correcciones de Accesibilidad (A11y)
Arreglos finales de contraste y subrayado en el footer, logrando una puntuación perfecta de 100 en Google Lighthouse.
Nuevo formato Text-Plain para Bots
Se agregó el parámetro '?format=text' a las URLs generadas para que la API pueda retornar texto plano, facilitando la integración con bots.
Sincronización de Generador Valorant
Se resolvieron solapamientos de z-index en los dropdowns, se sincronizaron los textos de ejemplo y se invirtió el orden de formatos (Rango + Puntos por defecto).
Mapeo de Regiones en Valorant
Las regiones LATAM y BR ahora se mapean correctamente a NA para el historial de MMR. Se reparó el comando de estadísticas del día.
No hay actualizaciones para este filtro.