Registro de todos los cambios, mejoras y correcciones en nuestra herramienta
Se aplicó ofuscación avanzada al código fuente en JavaScript para dificultar su lectura, copia y distribución no autorizada.
Implementado un sistema que detecta y bloquea atajos como Ctrl+U, Ctrl+Shift+I, F12, y Ctrl+S para evitar inspección, guardado o copiado del contenido.
Se agregó un verificador que impide que el sitio sea cargado dentro de iframes de terceros, evitando clonaciones visuales o phishings.
Toda la lógica de protección fue centralizada en un archivo JS único, facilitando el control de futuras capas defensivas y minificando su huella en el rendimiento.
Ahora se muestra una alerta visual cada vez que un atajo o acción no permitida es bloqueada, para informar al usuario sin afectar su experiencia.
Se añadió un panel de previsualización que muestra cómo quedará el timestamp final en Discord en tiempo real.
Reescrita la lógica de generación para reducir errores y mejorar compatibilidad con todos los formatos UTC disponibles.
Corregido el error que mostraba "-1 días" al calcular tiempos pasados desde ciertas fechas límite.
Separados los componentes de fecha, hora y zona horaria en módulos independientes con mejor mantenimiento.
Arreglado el parpadeo de tooltips al hacer hover en botones desde móviles o pantallas táctiles.
Ajustado contraste y colores de texto para mayor legibilidad en modo oscuro, especialmente en campos de entrada y botones secundarios.
Ahora puedes copiar directamente la estructura completa para Discord incluyendo `
Corregido problema en el que el botón "Copiar" no funcionaba correctamente en Firefox por restricciones de permisos.
Eliminadas funciones duplicadas y simplificada lógica innecesaria en eventos de entrada.
Hemos rediseñado desde cero la interfaz para ofrecer una experiencia visual moderna y fluida.
Ahora la web muestra la hora actual en tiempo real, adaptada a la zona horaria de España.
Botón fijo en la parte inferior derecha para facilitar el acceso directo a nuestro servidor de Discord.
Optimización del rendimiento del sistema para cargar más rápido y consumir menos recursos.
Los mensajes ahora se cargan desde archivos JSON, permitiendo actualizaciones sin tocar el código HTML.
Nuevas animaciones y estilo para notificaciones contextuales, más claras y menos intrusivas.
Implementación de cifrado básico en datos sensibles del usuario.
Protección contra inspección y copiado de código para evitar manipulaciones externas.
Solucionado un fallo que impedía detectar callsigns no válidos en ciertos casos.
Ahora el botón de copiar funciona correctamente en todos los navegadores modernos.
Implementación de nuevo sistema de caché que reduce tiempos de carga en un 40%.
Los scripts y estilos se cargan ahora de forma asíncrona para una experiencia más fluida.
Corrección de 3 vulnerabilidades críticas identificadas en el sistema de autenticación.
Se implementaron filtros y sanitización avanzada para evitar inyecciones en campos de texto.
Resuelto un bug que duplicaba mensajes en ciertas categorías al recargar la página.
El desplazamiento ya funciona correctamente en dispositivos táctiles.
Implementación completa de notificaciones en tiempo real para alertas importantes.
Se creó una interfaz secreta para modificar mensajes y configuraciones sin editar el código fuente.
Permite buscar mensajes por palabra clave o filtrar por tipo de situación RP.
La interfaz se adapta mejor a pantallas pequeñas y se han eliminado márgenes innecesarios.
Primera versión considerada estable para despliegue en entorno productivo.
Solucionado problema introducido en v1.2.0 que afectaba la sincronización de datos.
Solucionado un fallo donde algunas categorías no se mostraban correctamente al iniciar sesión.
Optimización específica para dispositivos móviles con recursos limitados.
Estructura interna de archivos reorganizada para facilitar el mantenimiento.
Primera versión mayor considerada estable con todas las funcionalidades básicas.
Implementación completa del panel de control para administradores del sistema.
Cada usuario tiene acceso personalizado según su rol asignado en el sistema.
Todos los módulos comparten un diseño coherente y unificado para facilitar la navegación.
Mejora significativa en los endpoints para mayor consistencia y rendimiento.
Se añadieron comentarios y documentación para facilitar futuras actualizaciones.
Implementación de encriptación completa para todas las comunicaciones.
Los encabezados de respuesta fueron corregidos para mejorar la compatibilidad con navegadores antiguos.
Ajustes visuales y de scripts para garantizar el funcionamiento correcto en Safari 16+ y Microsoft Edge.
Ahora se generan registros de errores y eventos importantes para facilitar el diagnóstico.
Se implementaron nuevas reglas para evitar inputs maliciosos en campos de texto.
Solucionado un bug donde el scroll automático se activaba al abrir un modal en dispositivos táctiles.
Archivos JS y CSS fueron minificados y comprimidos, mejorando el tiempo de carga general.
Se introdujo una pantalla de error personalizada cuando no hay conexión a internet.
Agregamos soporte para traducciones en ciertas secciones clave del proyecto, incluyendo el panel principal y los botones de navegación.
Se creó una estructura JSON para gestionar los textos de la interfaz en distintos idiomas.
Corregido bug que mostraba el idioma incorrecto al iniciar la aplicación en navegadores con lenguaje no configurado explícitamente.
Se solucionó la ausencia de etiquetas traducidas en botones de categorías y encabezados de secciones.
Corregidos strings sin traducir en el módulo de configuración, incluyendo descripciones de accesibilidad y categorías ocultas.
Ahora al seleccionar otro idioma, todos los textos visibles se actualizan sin necesidad de recargar la página.
Optimización del sistema de internacionalización para menor consumo de memoria y carga más rápida en idiomas alternativos.
Ahora el sistema detecta el idioma del navegador del usuario y lo aplica automáticamente al cargar la web por primera vez.
Implementación de registro detallado de actividades como inicios de sesión, cambios de idioma, accesos no autorizados y errores del cliente.
Cambio de base de datos SQL a NoSQL para mejor escalabilidad, flexibilidad en el manejo de datos y mayor tolerancia a fallos.
Se añade un sistema de depuración activable por IP o token para monitorear eventos en tiempo real durante pruebas.
Se modularizó la lógica de backend para permitir futuras integraciones con bots y sistemas de terceros.
Ahora se pueden recibir alertas a través de WhatsApp Business para eventos críticos, incluyendo notificaciones de mantenimiento y cambios importantes.
Permite al usuario elegir entre recibir alertas por Discord, WhatsApp o en la propia web según sus preferencias.
Corregido error en la interpretación de zonas horarias en registros y alertas, especialmente para usuarios fuera de UTC+2.
Mejoras visuales y de rendimiento al recibir notificaciones en móviles con WhatsApp instalado.
Iniciamos el desarrollo del sistema de traducción multilenguaje basado en JSON, pensado para una futura expansión internacional.
Reestructuración interna del código dividiendo lógica, estilos y datos en componentes reutilizables.
Cada módulo ahora maneja sus propias dependencias de forma aislada para evitar conflictos y facilitar futuras migraciones.
Ahora puedes cambiar entre modo claro y oscuro desde el icono en la parte superior derecha, con persistencia local en el navegador.
Mejoras internas en el renderizado de botones, animaciones y desplazamiento para una experiencia más fluida.
Se corrigieron estilos visuales para que el modo oscuro se aplique correctamente en navegadores Apple.
Cambiar entre modos ahora incluye una animación suave que mejora la percepción del usuario.
El ícono de cambio de tema ahora cambia automáticamente entre 🌙 y ☀️ dependiendo del modo actual.
Limpieza automática de listeners y timers no utilizados al cambiar de tema o al cerrar secciones.
Añadidos sonidos sutiles al pasar el cursor o hacer clic en botones clave para mejorar la retroalimentación del usuario.
Ampliamos la cobertura de tests automáticos para cubrir lógica condicional, flujos de error y validaciones.
Ahora se carga una versión simplificada de sonidos en navegadores que no soportan Web Audio API.
Si el usuario bloquea sonidos o falla el sistema de audio, los botones siguen funcionando sin errores visibles.
Se agregó opción para desactivar todos los efectos sonoros desde configuración local (modo silencioso).
Agregada nueva página explicativa con detalles sobre el propósito del proyecto, responsables y contacto IC/OOC.
Reorganización del entorno de desarrollo con scripts automatizados para levantar servidor local y compilar assets.
Se eliminaron bloques redundantes de JS que causaban inconsistencias entre sesiones.
Se adaptó el nuevo contenido a pantallas móviles con diseño fluido y accesible.
Las clases de estilo se renombraron y reestructuraron para evitar conflictos entre módulos.
Implementado modo de mantenimiento activable vía URL secreta para pruebas en producción sin afectar a usuarios.
Al enviar sugerencias o reportes se solicita obligatoriamente nombre IC y descripción del problema.
Arreglado el bug que permitía enviar formularios vacíos y corregida validación incorrecta de caracteres.
Los campos del formulario ahora tienen mayor contraste, iconos indicativos y animaciones sutiles al enfocar.
Mensajes de error ahora aparecen en rojo, con una descripción clara y accesible para el usuario.
Se añadieron etiquetas `aria-label` y navegación con teclado completa para usuarios con movilidad reducida.
Nuevo botón "Limpiar" que borra todos los campos del formulario de manera inmediata.
Proyecto publicado en repositorio público (ver aquí).
Corrección de errores de estilo no aplicados en algunas vistas.
El botón flotante de Discord ahora se mantiene visible correctamente al hacer scroll en todas las resoluciones.
Carga diferida de scripts no críticos para mejorar el tiempo de respuesta inicial.
Ajustes en contraste de colores y sombras para mejorar la accesibilidad visual en temas oscuros.
Nuevo botón que permite copiar la URL de una sección específica al portapapeles.
Algunos elementos ahora muestran información contextual al situar el cursor encima, útil para usuarios nuevos.
Ajustado el alineado vertical de los íconos de copiar y cerrar en móviles.
Se reorganizó el contenido del historial de versiones para una lectura más cómoda en pantallas pequeñas.
Se muestra una barra visual mientras se cargan mensajes o funciones.
Mejoras en el modo oscuro para mejorar comodidad visual.
La transición entre modo claro/oscuro ahora es suave y animada.
Permite filtrar los mensajes por tipo directamente desde la interfaz.
Código reorganizado para facilitar mantenimiento y escalabilidad.
Funciones de interfaz y lógica separadas en archivos independientes para mejor lectura del código.
Iconos vectoriales personalizados en todas las secciones del sistema.
Mejora visual y funcional del menú lateral para navegación más intuitiva.
Se añadieron etiquetas `aria-label` para mejorar la accesibilidad en lectores de pantalla.
Desarrollo de componentes reutilizables para reducir duplicados de código.
Corregido error que mostraba contenido no deseado bajo ciertas condiciones.
Ahora el sistema de alertas y copiado al portapapeles está basado en componentes reutilizables y más ligeros.
Conexión experimental con base de datos en tiempo real para gestionar mensajes dinámicamente.
Reestructuración completa del proyecto con React para componentes reutilizables y control del DOM virtual.
Uso de `useState` y `props` para controlar el flujo de datos en componentes clave.
Se creó un hook que permite cargar y actualizar los mensajes automáticamente desde la base de datos.
Proyecto configurado para trabajar con Vite en lugar de Create React App para compilaciones más rápidas.
Creación de componentes individuales para botones, secciones y tarjetas para facilitar el mantenimiento.
Se incluyó `react-router-dom` para navegación interna y soporte para rutas condicionales como `/info`, `/soporte` o `/admin`.
Implementado ESLint y Prettier para mantener consistencia en el código y detectar errores comunes durante el desarrollo.
Incorporación de variables de entorno para separar claves privadas y rutas de producción.
División lógica en `/components`, `/pages`, `/hooks` y `/data` para mejorar la escalabilidad del proyecto.
Se creó la estructura de carpetas: `/html`, `/css`, `/js`, `/assets` y `/data`.
Creación de `index.html` con cabecera, pie de página y sección central para mensajes.
Archivo `style.css` con resets, colores básicos, tipografía e íconos base.
Se aplicó diseño adaptable para escritorio, tablet y móviles con media queries.
Primera versión de `main.js` que obtiene y muestra datos desde `mensajes.json`.
Creado `mensajes.json` con categorías y textos de prueba estructurados.
Se añaden validaciones para evitar entradas vacías en el campo de callsign.
Añadidos iconos vectoriales de alerta, copiar, ajustes y navegación.
Botón que copia automáticamente el mensaje seleccionado para su uso IC.
Transiciones suaves aplicadas a botones y tarjetas al interactuar con el ratón.
Sistema básico para mostrar alertas temporales en pantalla (éxito, error, info).
Repositorio inicializado, `.gitignore` configurado y primeros commits realizados.
Icono de pestaña y etiquetas meta para SEO, Open Graph y compatibilidad móvil.
Se definió el nombre inicial del sistema: FAST-RADIO LSSD.
Documentación en línea dentro del código para explicar funciones y estructura de datos.
Se incluye texto visible aclarando que la web es IC, y que no se aceptará dinero real bajo ninguna circunstancia.