From ccdb477dbb2da94b9fe4c8c82423cd5e1c49b4fa Mon Sep 17 00:00:00 2001 From: Lucy <12953208+elvece@users.noreply.github.com> Date: Wed, 19 Jul 2023 11:11:23 -0400 Subject: [PATCH] Fix/pwa refresh (#2359) * fix ROFS error on os install * attempt to prompt browser to update manifest data with id and modified start_url * update icon with better shape for ios * add additional options for refreshing on pwas * add loader to pwa reload * fix pwa icon and add icon for ios * add logic for refresh display depending on if pwa * fix build for ui; fix numeric parsing error on osx * typo --------- Co-authored-by: Aiden McClelland --- Makefile | 4 +- .../shared/assets/img/icon_apple_touch.png | Bin 0 -> 24164 bytes .../refresh-alert.component.html | 41 ++++++++++++++---- .../refresh-alert/refresh-alert.component.ts | 29 ++++++++++++- frontend/projects/ui/src/index.html | 5 +++ frontend/projects/ui/src/manifest.webmanifest | 4 +- 6 files changed, 68 insertions(+), 15 deletions(-) create mode 100644 frontend/projects/shared/assets/img/icon_apple_touch.png diff --git a/Makefile b/Makefile index f7fad27d3..9cb5f0b7a 100644 --- a/Makefile +++ b/Makefile @@ -162,7 +162,7 @@ frontend/config.json: $(GIT_HASH_FILE) frontend/config-sample.json npm --prefix frontend run-script build-config frontend/patchdb-ui-seed.json: frontend/package.json - jq '."ack-welcome" = $(shell yq '.version' frontend/package.json)' frontend/patchdb-ui-seed.json > ui-seed.tmp + jq '."ack-welcome" = "$(shell yq '.version' frontend/package.json)"' frontend/patchdb-ui-seed.json > ui-seed.tmp mv ui-seed.tmp frontend/patchdb-ui-seed.json patch-db/client/node_modules: patch-db/client/package.json @@ -180,7 +180,7 @@ backend-$(ARCH).tar: $(EMBASSY_BINS) frontends: $(EMBASSY_UIS) # this is a convenience step to build the UI -ui: frontend/dist/ui +ui: frontend/dist/raw/ui # used by github actions backend: $(EMBASSY_BINS) diff --git a/frontend/projects/shared/assets/img/icon_apple_touch.png b/frontend/projects/shared/assets/img/icon_apple_touch.png new file mode 100644 index 0000000000000000000000000000000000000000..3ca45d44340a72b0ec995c782be80edc46abdd39 GIT binary patch literal 24164 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 literal 0 HcmV?d00001 diff --git a/frontend/projects/ui/src/app/components/toast-container/refresh-alert/refresh-alert.component.html b/frontend/projects/ui/src/app/components/toast-container/refresh-alert/refresh-alert.component.html index 0c4ec3543..c63060f12 100644 --- a/frontend/projects/ui/src/app/components/toast-container/refresh-alert/refresh-alert.component.html +++ b/frontend/projects/ui/src/app/components/toast-container/refresh-alert/refresh-alert.component.html @@ -1,9 +1,32 @@ - - Your user interface is cached and out of date. Hard refresh the page to get - the latest UI. -
    -
  • On Mac: cmd + shift + R
  • -
  • On Linux/Windows: ctrl + shift + R
  • -
-
Ok - +
+ + Your user interface is cached and out of date. Hard refresh the page to get + the latest UI. +
    +
  • + On Mac + : cmd + shift + R +
  • +
  • + On Linux/Windows + : ctrl + shift + R +
  • +
  • + On Android/iOS + : Browser specific, typically a refresh button in the browser menu. +
  • +
+ Ok +
+
+ + + + Your user interface is cached and out of date. +
+
+ Attempt to reload the PWA using the button below. If you continue to see + this message, uninstall and reinstall the PWA. + Reload +
+
diff --git a/frontend/projects/ui/src/app/components/toast-container/refresh-alert/refresh-alert.component.ts b/frontend/projects/ui/src/app/components/toast-container/refresh-alert/refresh-alert.component.ts index e9a2e75ae..f039841d3 100644 --- a/frontend/projects/ui/src/app/components/toast-container/refresh-alert/refresh-alert.component.ts +++ b/frontend/projects/ui/src/app/components/toast-container/refresh-alert/refresh-alert.component.ts @@ -1,7 +1,9 @@ import { ChangeDetectionStrategy, Component, Inject } from '@angular/core' -import { Observable, Subject, merge } from 'rxjs' +import { merge, Observable, Subject } from 'rxjs' import { RefreshAlertService } from './refresh-alert.service' +import { SwUpdate } from '@angular/service-worker' +import { LoadingController } from '@ionic/angular' @Component({ selector: 'refresh-alert', @@ -10,13 +12,36 @@ import { RefreshAlertService } from './refresh-alert.service' }) export class RefreshAlertComponent { private readonly dismiss$ = new Subject() - readonly show$ = merge(this.dismiss$, this.refresh$) + onPwa = false constructor( @Inject(RefreshAlertService) private readonly refresh$: Observable, + private readonly updates: SwUpdate, + private readonly loadingCtrl: LoadingController, ) {} + ngOnInit() { + this.onPwa = window.matchMedia('(display-mode: standalone)').matches + } + + async pwaReload() { + const loader = await this.loadingCtrl.create({ + message: 'Reloading PWA...', + }) + await loader.present() + try { + // attempt to update to the latest client version available + await this.updates.activateUpdate() + } catch (e) { + console.error('Error activating update from service worker: ', e) + } finally { + loader.dismiss() + // always reload, as this resolves most out of sync cases + window.location.reload() + } + } + onDismiss() { this.dismiss$.next(false) } diff --git a/frontend/projects/ui/src/index.html b/frontend/projects/ui/src/index.html index 3cdf84ff5..0248b7462 100644 --- a/frontend/projects/ui/src/index.html +++ b/frontend/projects/ui/src/index.html @@ -14,6 +14,11 @@ + diff --git a/frontend/projects/ui/src/manifest.webmanifest b/frontend/projects/ui/src/manifest.webmanifest index 7895929a7..94e6b08f9 100644 --- a/frontend/projects/ui/src/manifest.webmanifest +++ b/frontend/projects/ui/src/manifest.webmanifest @@ -5,8 +5,8 @@ "background_color": "#1e1e1e", "display": "standalone", "scope": ".", - "start_url": "/", - "id": "/", + "start_url": "/?version=0344", + "id": "/?version=0344", "icons": [ { "src": "assets/img/icon_pwa.png",