Reconocimientos inteligentes v1.2

El motor puro entrenamiento/js/recognitions.js consume las mismas sesiones locales y recuperadas desde Supabase. La interfaz escucha los eventos existentes de cierre de sesión y carga de historial. No modifica sesiones, CSV, JSON Statetty ni el protocolo de sincronización.

Comparaciones

Presentación y almacenamiento

Al terminar manualmente se anuncia como máximo un reconocimiento ordinario y, por separado, los récords obtenidos. Abrir Historial o recibir datos sincronizados nunca abre anuncios de sesiones antiguas. Historial presenta los resultados dentro del período autorizado y seleccionado; ampliar el período puede aportar evidencia adicional y cambiar el resultado. Las cargas y cambios de cuenta retiran las tarjetas anteriores.

Los resultados derivados, su firma de datos y los identificadores de anuncios se almacenan por usuario en claves independientes de los datos de entrenamiento. La firma invalida el resultado si cambian los datos, y los resultados guardados se limitan a cien sesiones por usuario. No se escriben campos adicionales en los objetos de sesión. Los indicadores de presentación se guardan en este navegador: no hay garantía de exclusión de anuncios entre distintos dispositivos ni después de borrar sus datos.

Entrenamiento intenta cargar el historial remoto completo, combina los cambios locales pendientes usando la función existente de Supabase y utiliza las claves canónicas de sincronización para evitar duplicar sesiones locales y remotas. Sin conexión usa el historial local y las copias de IndexedDB. La interfaz indica que las sesiones aún no sincronizadas pueden modificar los resultados; no se presentan como una certificación de integridad del historial.

Resumen mensual

Primera apertura de Entrenamiento durante los últimos siete días calendario del mes (por ejemplo, 24–30 de noviembre). Cuenta los últimos treinta días calendario, incluyendo el actual, usando la fecha de cada flecha o la de la sesión cuando no está disponible. Incluye M, sesiones en curso y sesiones antiguas sin identificador; descarta duplicados y fechas futuras. No muestra automáticamente un total cero ni recupera meses que no se abrieron.

El mes se marca antes de mostrar la tarjeta y se conserva el total de esa presentación. Si no se puede guardar la marca, no se abre automáticamente para evitar repeticiones. Se puede consultar de nuevo desde el propio Historial. Los resúmenes están separados del límite ordinario de sesión.

El usuario elige Historia 9:16 (1080×1920) o Publicación 4:5 (1080×1350). Se ofrece compartir mediante el sistema cuando está disponible, o descargar PNG. Cancelar el diálogo de compartir no dispara una descarga. Ambas tarjetas incluyen período, total, nombre arbat archery y arbatarchery.com, sin puntajes ni datos personales.

Verificación