Detalle técnico · Clever
Las aplicaciones de Clever funcionan como aplicación web progresiva: el navegador guarda una copia de la aplicación para que abra rápido y siga respondiendo con una conexión inestable. El costo de esa copia es que un usuario puede quedarse trabajando sobre una versión anterior. Este mecanismo resuelve eso: cada publicación queda sellada con una versión, la aplicación la consulta mientras está abierta y, cuando detecta una diferencia, avisa — con un cartel que se puede posponer o con un mensaje que obliga a actualizar antes de seguir.
Hay dos copias del número de versión y todo el mecanismo vive de compararlas: una viaja dentro de la aplicación que el usuario ya tiene cargada, y la otra queda publicada aparte, en un archivo liviano que el navegador vuelve a pedir siempre al servidor, sin pasar por la copia guardada.
Al publicar una versión se genera automáticamente un identificador que combina el número de versión con la fecha y hora exactas de esa publicación. Ese identificador viaja dentro de la aplicación y, además, queda publicado aparte junto con el modo de aviso elegido. Como incluye la hora, cada publicación tiene una identidad distinta sin que nadie tenga que numerarla a mano ni pueda olvidarse de hacerlo.
La aplicación cargada revisa la versión publicada cada dos minutos, y también cada vez que el usuario vuelve a la pestaña o retoma la ventana, que es el momento más probable para detectarlo. Esa consulta se pide siempre al servidor, salteando la copia guardada en el navegador — que es justamente lo que se quiere superar.
Si la versión publicada coincide con la que el usuario tiene abierta, no ocurre nada: la consulta es liviana y pasa inadvertida. Si difieren, hay una versión nueva y se muestra el aviso según el modo configurado para esa publicación: obligatorio, que bloquea hasta actualizar, o posponible, que deja seguir trabajando.
Con ese único botón, la aplicación toma la versión nueva, renueva la copia guardada en el navegador y recarga la pantalla. El usuario no tiene que limpiar el cache, ni forzar la recarga con el teclado, ni abrir una ventana de incógnito: esos rodeos, que son los que habitualmente se le piden al usuario cuando algo quedó viejo, dejan de ser necesarios.
Por qué no se actualiza solo. La aplicación nunca cambia de versión por su cuenta mientras alguien la está usando: podría pasar en medio de una carga o de un turno a medio confirmar. Por eso el salto siempre lo confirma el usuario con el botón, y la decisión de cuánto insistir — posponible u obligatorio — la toma el equipo al publicar.
Son dos avisos, con la misma acción y distinto nivel de insistencia.
Modo posponible
Cartel fijo en la parte superior de la pantalla. No bloquea: el usuario puede terminar lo que está haciendo y actualizar después.
Modo obligatorio
Nueva versión
Hay una nueva versión disponible. Para continuar, presione el botón Actualizar.
Actualizar
Mensaje centrado que no se cierra haciendo clic afuera ni con la tecla Escape. La única salida es actualizar.
Están elegidos para que la detección sea rápida sin agregar carga al servidor, y para que un aviso nunca se transforme en una seguidilla de carteles.
Además, cada navegador recuerda qué versión ya aplicó y sobre cuál ya avisó. Eso evita que un mismo usuario vea dos veces el aviso de la misma versión, y que el cartel reaparezca justo después de haber actualizado.
Hay un detalle propio de Clever que conviene mencionar, porque es la otra mitad del problema. Cada instalación tiene sus propios parámetros — direcciones de servicios, etiquetas, catálogos de configuración — y esos archivos quedarían guardados en el navegador igual que el resto de la aplicación, con el riesgo de seguir usando valores viejos después de un cambio. Por eso, en cada arranque la aplicación descarta expresamente esa configuración de la copia guardada y la vuelve a pedir. La aplicación se guarda para andar rápido; su configuración, no.
Es el mismo mecanismo en las dos aplicaciones, con la misma lógica, los mismos tiempos y los mismos textos.
| Clever Prestadores | Clever Backoffice | |
|---|---|---|
| Estado | En uso, con el aviso en modo obligatorio | Implementado y verificado en ambiente de prueba, listo para acompañar la próxima salida a producción |
| Aviso posponible | Cartel superior en la pantalla principal | Cartel superior, igual comportamiento |
| Aviso obligatorio | Mensaje centrado bloqueante | Mensaje centrado bloqueante, con los colores de la marca |
| Idiomas | Español y portugués | Español |