1
0
Fork 0
mirror of https://github.com/miniflux/v2.git synced 2025-08-11 17:51:01 +00:00

feat(js): register the service worker as JavaScript module

This commit is contained in:
Frédéric Guillot 2025-08-02 11:19:23 -07:00
parent bfbc1c88c3
commit 3e1a7e411c
2 changed files with 9 additions and 4 deletions

View file

@ -49,9 +49,9 @@
{{ end }} {{ end }}
<script src="{{ route "javascript" "name" "app" "checksum" .app_js_checksum }}" type="module"></script> <script src="{{ route "javascript" "name" "app" "checksum" .app_js_checksum }}" type="module"></script>
<script src="{{ route "javascript" "name" "service-worker" "checksum" .sw_js_checksum }}" defer id="service-worker-script"></script>
</head> </head>
<body <body
data-service-worker-url="{{ route "javascript" "name" "service-worker" "checksum" .sw_js_checksum }}"
{{ if .csrf }}data-csrf-token="{{ .csrf }}"{{ end }} {{ if .csrf }}data-csrf-token="{{ .csrf }}"{{ end }}
data-add-subscription-url="{{ route "addSubscription" }}" data-add-subscription-url="{{ route "addSubscription" }}"
data-entries-status-url="{{ route "updateEntriesStatus" }}" data-entries-status-url="{{ route "updateEntriesStatus" }}"

View file

@ -125,10 +125,15 @@ if (logoElement) {
onClick(".header nav li", (event) => onClickMainMenuListItem(event)); onClick(".header nav li", (event) => onClickMainMenuListItem(event));
// Register the service worker if supported.
if ("serviceWorker" in navigator) { if ("serviceWorker" in navigator) {
const scriptElement = document.getElementById("service-worker-script"); const serviceWorkerURL = document.body.dataset.serviceWorkerUrl;
if (scriptElement) { if (serviceWorkerURL) {
navigator.serviceWorker.register(ttpolicy.createScriptURL(scriptElement.src)); navigator.serviceWorker.register(ttpolicy.createScriptURL(serviceWorkerURL), {
type: "module"
}).catch((error) => {
console.error("Service Worker registration failed:", error);
});
} }
} }