From 079f6ea382fa4fd29ee72a9cd526a282f591837b Mon Sep 17 00:00:00 2001 From: Kai Vandivier <49666798+KaiVandivier@users.noreply.github.com> Date: Tue, 7 Sep 2021 13:56:34 +0200 Subject: [PATCH] fix(offline-interface): prevent infinite update loop in Chrome (#638) --- pwa/src/offline-interface/offline-interface.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pwa/src/offline-interface/offline-interface.js b/pwa/src/offline-interface/offline-interface.js index 9eee71bac..0daf626bc 100644 --- a/pwa/src/offline-interface/offline-interface.js +++ b/pwa/src/offline-interface/offline-interface.js @@ -31,8 +31,16 @@ export class OfflineInterface { } if ('serviceWorker' in navigator) { - navigator.serviceWorker.oncontrollerchange = () => + let reloading + navigator.serviceWorker.oncontrollerchange = () => { + if (reloading) { + // Fixes an infinite update loop when 'Update on reload' is + // checked in Chrome + return + } + reloading = true window.location.reload() + } } } /**