serviceWorkerHasPendingUpdate static method

Future<bool> serviceWorkerHasPendingUpdate()

Asks every registration to re-check the server; true when a newer worker is installing or waiting.

Implementation

static Future<bool> serviceWorkerHasPendingUpdate() async {
  try {
    final List<web.ServiceWorkerRegistration> registrations = (await web.window.navigator.serviceWorker.getRegistrations().toDart).toDart;
    bool pending = false;
    for (final web.ServiceWorkerRegistration registration in registrations) {
      try {
        await registration.update().toDart;
      } catch (_) {}
      if (registration.waiting != null || registration.installing != null) pending = true;
    }
    return pending;
  } catch (_) {
    return false;
  }
}