diff --git a/src/vector/index.ts b/src/vector/index.ts index d9c63755f6..02e2025c91 100644 --- a/src/vector/index.ts +++ b/src/vector/index.ts @@ -29,11 +29,6 @@ require('katex/dist/katex.css'); import {parseQsFromFragment} from "./url_utils"; import './modernizr'; -// load service worker if available on this platform -if ('serviceWorker' in navigator) { - navigator.serviceWorker.register('sw.js'); -} - async function settled(...promises: Array>) { for (const prom of promises) { try { diff --git a/src/vector/platform/WebPlatform.ts b/src/vector/platform/WebPlatform.ts index ee399c8c8c..9f9f4a3995 100644 --- a/src/vector/platform/WebPlatform.ts +++ b/src/vector/platform/WebPlatform.ts @@ -34,6 +34,14 @@ const POKE_RATE_MS = 10 * 60 * 1000; // 10 min export default class WebPlatform extends VectorBasePlatform { private runningVersion: string = null; + constructor() { + super(); + // Register service worker if available on this platform + if ('serviceWorker' in navigator) { + navigator.serviceWorker.register('sw.js'); + } + } + getHumanReadableName(): string { return 'Web Platform'; // no translation required: only used for analytics }