No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Enviando actualizaciones

15/20
Recursos

Aportes 5

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

en un proyecto en que trabaje, actualizar automáticamente no es buena idea... la razón es que el usuario puede estar haciendo algo y le cortas el flujo. Lo mejor es mostrar un prompt, la otra es en el momento de ejecutar un acción como guardar, reiniciar si hay update.

Buena forma de actualizar el service worker.

Actualizar service worker 2022 (Angular 14.x)

Agregar esto en ngOnInit ANTES de mandar a producción

this.swUpdate.versionUpdates
      .pipe(
        filter((evt: any): evt is VersionReadyEvent => evt.type === 'VERSION_READY'),
        tap((evt: VersionReadyEvent) => {
          console.info(`currentVersion=[${evt.currentVersion?.hash} | latestVersion=[${evt.latestVersion?.hash}]`)
        })
      )
      .subscribe(evt => {
        const snack = this.snackBar.open('Update Available', 'Reload.', { duration: 0 })
        snack.onAction()
          .subscribe(() => {
            window.location.reload()
          })
      })

Si hiciste mal la tarea como yo y ahora todos tus usuarios de producción ven la versión antigua, intentá cambiar los routings del login y el index.html… al menos por unos meses. Esto me funcionó!

¿Y como sabe el service worker que se ha hecho un deploy en el servidor?

Para actualizar el service worker, se necesita del componente SwUpdate el cual puedes escuchar si tiene nueva versiones con pieza de codigo:

this.swUpdate.available.subscribe(value=>{
      console.log('update:', value);
      window.location.reload();
    });```