Skip to content

Commit ffdaf8b

Browse files
chowncesRichDom2185
authored andcommitted
Add refresh button to force refresh service worker (source-academy#2638)
1 parent befab2a commit ffdaf8b

File tree

1 file changed

+15
-2
lines changed

1 file changed

+15
-2
lines changed

src/index.tsx

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import 'src/styles/index.scss';
22

3+
import { Button } from '@blueprintjs/core';
34
import * as Sentry from '@sentry/browser';
45
import { setModulesStaticURL } from 'js-slang/dist/modules/moduleLoader';
56
import { createRoot } from 'react-dom/client';
@@ -47,9 +48,21 @@ createInBrowserFileSystem(store)
4748
});
4849

4950
registerServiceWorker({
50-
onUpdate: () => {
51+
onUpdate: registration => {
5152
showWarningMessage(
52-
'A new version of Source Academy is available. Please refresh the browser.',
53+
<div>
54+
<span>A new version of Source Academy is available.&nbsp;</span>
55+
<Button
56+
onClick={() => {
57+
if (registration && registration.waiting) {
58+
registration.waiting.postMessage({ type: 'SKIP_WAITING' });
59+
}
60+
window.location.reload();
61+
}}
62+
>
63+
Refresh now
64+
</Button>
65+
</div>,
5366
0
5467
);
5568
}

0 commit comments

Comments
 (0)