¿Hay alguna forma de obligar a los usuarios a recargar mi aplicación web y moverse por el trabajador de servicio local, tal vez a través de alguna configuración en mi servidor web (nginx) o cualquier otro medio?
Antecedentes: tengo un pequeño problema: tengo una aplicación angular con service worker, que ya está almacenada en caché en las máquinas de las personas. El siguiente código muestra cómo verifica las actualizaciones, muestra y actualiza el mensaje y luego realiza la actualización, una vez que se descarta el mensaje de actualización. Desafortunadamente, hay un error en el mensaje de actualización ( snackbarService.showVersionUpdate() ) que nunca se llama a las updates.activateUpdate() . Por lo tanto, se usa la versión de interfaz anterior almacenada en caché hasta que la ventana del navegador se cierra y se vuelve a abrir o se vuelve a cargar con Ctrl+F5.
El problema es que todas las correcciones al código solo entran en vigencia después de una actualización del trabajador del servicio, que en sí mismo es el problema.
constructor(updates: SwUpdate, snackbarService: SnackbarService) { updates.checkForUpdate(); updates.available.subscribe(event => { // Show snackbar const snackBar = snackbarService.showVersionUpdate(); snackBar.afterDismissed().subscribe(() => { updates.activateUpdate().then(() => { window.location.reload(); }); }); }); }Estoy agradecido por cualquier solución o idea!
Editar: encontré esta respuesta , que habla sobre la actualización del propio trabajador del servicio. ¿Alguien sabe cómo hacer eso con el trabajador de servicio angular?