SmartAuth 2.0.50: el aviso de instalación ya no vuelve a aparecer, caché de rutas más fiable
El aviso de instalación deja de volver
Una aplicación SmartMaker instalada en la pantalla de inicio volvía a pedir periódicamente que se instalara. El manifiesto servido por SmartAuth se declara ahora a sí mismo como aplicación relacionada: el navegador reconoce que ya está presente y deja de mostrar el aviso.
En iPhone y iPad es la única señal disponible. Ninguna interfaz del navegador indica allí a una página que se ha abierto desde la pantalla de inicio.
Saber qué dispositivos han instalado la aplicación
Una nueva llamada, POST /account/device-install-state, permite a la aplicación
indicar que se ejecuta instalada en lugar de en una pestaña. La información
se conserva en el dispositivo lógico del usuario, visible desde la pestaña
SmartAuth de su ficha.
Nunca vuelve atrás: abrir la misma dirección en una pestaña después de la instalación no hace olvidar que la aplicación está instalada. Un dispositivo que no ha indicado nada sigue siendo distinto de un dispositivo que usa el navegador, lo que evita contar como «no instalados» los dispositivos que aún utilizan una versión anterior de la aplicación.
Caché de rutas: se acabaron los avisos engañosos
Los módulos que exponen sus propias rutas se declaran desde la versión anterior. Quedaban dos defectos:
- SmartAuth se avisaba a sí mismo de no estar declarado, lo cual era falso;
- el aviso que invitaba a migrar del barrido de archivos a la declaración aparecía incluso cuando ningún módulo instalado estaba afectado.
Ambos están corregidos. El aviso solo se activa cuando un módulo presente puede migrarse realmente, y el registro indica la causa exacta de una reconstrucción de la caché.
Correcciones y trabajos internos
- Los objetos Dolibarr cuya clase no declara
$fieldsvuelven a ser identificados correctamente por las correspondencias de objetos. - Los formularios de configuración OAuth2 están protegidos contra el envío doble, y las etiquetas que faltaban están traducidas a los ocho idiomas entregados.
- El vaciado de la caché de memoria se produce en último lugar al instalar el módulo, para que ningún estado intermedio vuelva a la caché.
- La base anunciada se alinea con Dolibarr 18.0 y PHP 7.4, lo que corresponde a lo que se prueba realmente. La retrocompatibilidad con Dolibarr 16, ya innecesaria, se ha retirado.
- El archivo de distribución se verifica ahora: ya no puede salir con una dependencia de desarrollo incrustada.
- Todas las páginas de administración y de lista del módulo están cubiertas por pruebas que fallan ante la menor parada fatal.