From 06398e98e2071633322ebd47b9866a6905febf73 Mon Sep 17 00:00:00 2001 From: Dram27 Date: Tue, 12 May 2026 17:09:27 +0200 Subject: [PATCH] Made progressive web app installable --- CMakeLists.txt | 3 ++ misc/web/coi-serviceworker.js | 77 ++++++++++------------------------ misc/web/icon-192.png | Bin 0 -> 3416 bytes misc/web/icon-512.png | Bin 0 -> 10557 bytes misc/web/index.html | 23 +++++++++- misc/web/manifest.json | 24 +++++++++++ 6 files changed, 71 insertions(+), 56 deletions(-) create mode 100644 misc/web/icon-192.png create mode 100644 misc/web/icon-512.png create mode 100644 misc/web/manifest.json diff --git a/CMakeLists.txt b/CMakeLists.txt index b25ff7e..7c9d531 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -409,6 +409,9 @@ else() POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_SOURCE_DIR}/misc/web/index.html" $ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_SOURCE_DIR}/misc/web/coi-serviceworker.js" $ + COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_SOURCE_DIR}/misc/web/manifest.json" $ + COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_SOURCE_DIR}/misc/web/icon-192.png" $ + COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_SOURCE_DIR}/misc/web/icon-512.png" $ ) endif() diff --git a/misc/web/coi-serviceworker.js b/misc/web/coi-serviceworker.js index 8c518e9..fe54c1c 100644 --- a/misc/web/coi-serviceworker.js +++ b/misc/web/coi-serviceworker.js @@ -1,57 +1,26 @@ -/* coi-serviceworker.js */ +/* coi-serviceworker.js - Cross-Origin Isolation + PWA support */ -if (typeof window === "undefined") { - // Código del Worker: Intercepta peticiones - self.addEventListener("install", () => self.skipWaiting()); +// Service Worker context +self.addEventListener("install", () => self.skipWaiting()); - self.addEventListener("activate", (event) => - event.waitUntil(self.clients.claim()) - ); +self.addEventListener("activate", (event) => + event.waitUntil(self.clients.claim()) +); - self.addEventListener("fetch", (event) => { - if (event.request.method !== "GET") return; - - event.respondWith( - fetch(event.request) - .then((response) => { - if (response.status === 0) return response; - - const newHeaders = new Headers(response.headers); - newHeaders.set("Cross-Origin-Embedder-Policy", "require-corp"); - newHeaders.set("Cross-Origin-Opener-Policy", "same-origin"); - newHeaders.set("Cross-Origin-Resource-Policy", "cross-origin"); - - return new Response(response.body, { - status: response.status, - statusText: response.statusText, - headers: newHeaders, - }); - }) - .catch(() => fetch(event.request)) - ); - }); -} else { - // Código de la Ventana: Registra el worker y recarga - (function () { - if ("serviceWorker" in navigator) { - navigator.serviceWorker - .register(window.document.currentScript.src) - .then((registration) => { - registration.addEventListener("updatefound", () => { - // Si hay una actualización, recargamos - location.reload(); - }); - - if (registration.active && !navigator.serviceWorker.controller) { - // Si el worker está activo pero no controla la página aún, recargamos - location.reload(); - } - }); - } - - // Si ya estamos aislados, perfecto - if (window.crossOriginIsolated) { - console.log("Aislamiento de origen ACTIVADO"); - } - })(); -} \ No newline at end of file +self.addEventListener("fetch", (event) => { + if (event.request.method !== "GET") return; + event.respondWith( + fetch(event.request).then((response) => { + if (response.status === 0 || response.type === "opaque") return response; + const headers = new Headers(response.headers); + headers.set("Cross-Origin-Embedder-Policy", "require-corp"); + headers.set("Cross-Origin-Opener-Policy", "same-origin"); + headers.set("Cross-Origin-Resource-Policy", "cross-origin"); + return new Response(response.body, { + status: response.status, + statusText: response.statusText, + headers, + }); + }).catch(() => fetch(event.request)) + ); +}); diff --git a/misc/web/icon-192.png b/misc/web/icon-192.png new file mode 100644 index 0000000000000000000000000000000000000000..79f3053778ed0f51730dae75bfbd00cece65a198 GIT binary patch literal 3416 zcmeAS@N?(olHy`uVBq!ia0vp^2SAvE4M+yv$zcaljKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qt-3_Nc=T^vIy;@)0bC>Y@`;NrOSAy3QP#>)a> z7N;Vg?R|4~L;Zr2P2r`%-ya`;U;p3keEQtOpKDH9+MJ(0hsKPazyIFP@3h}v=XYc6 zo3JwN-Ba(L%6nQr%evjLeWlE@P0=^u!v9Um`I7m9EqzkABZU8FzLPm7v#e;wsXT=6 z|I2qQdn|pP8h{Lg3IAKZvsj{d#;HUtupJQLKmNtf4W1cHJsbkH8YKL4{j91h_NM!0BLIMi-M(E~&%m1&O#9{pnZv*T3e@DZEx1~@PCuaen; zC`j&}8ZBSwR}j_&JUuX4I1f;D*Q~|9ZY0!f16;mfZ7ax!SQfxqB%tUYZNJd3q4jgY ysYXZxbF}eC=j!fZ<-R8}^PYR3qdCL*AA3No-j$7ttNVeyAqG!ZKbLh*2~7ZfV0Y>O literal 0 HcmV?d00001 diff --git a/misc/web/icon-512.png b/misc/web/icon-512.png new file mode 100644 index 0000000000000000000000000000000000000000..895714fb1c0cee6c56e13e915c6953d0bf0f148b GIT binary patch literal 10557 zcmeAS@N?(olHy`uVBq!ia0y~yU;;9k7&zE~)R&4Yzkn2Dage(c!@6@aFM%AEbVpxD z28NCO+M1MG6Ch#wAY|$B>G+w^t1XBisdC94{I$A5BY; z>SA@D^K=jY!Qa-7>a+K*+PO>KzV83;^0c(HzDho0W8=@Y=M#aPeeW&L0Ks?L_L(zh z{@nN604R0;y9`j~+3$IWfigAsi)R3(-dB%mqGLckG~mTL8@gT94$UH!DBd zTRgXv0h$A}9?41HuKbXn^I4`3Xb#Z&QEz}^a5OeX6BQ)i4zIi+U}|?_v``o=qDN~Q zq)K+Q!W@kC{*@mJqYWN#Sv}fr8*N38b_ND-pC<5e^P17l+-RS4v}=ttsxUgxF$l+N zTzdI8jgIhu%j(e)p3xDW;W)xGOa^gB2ddzM{iAaUqf;V~hSlgm)#yOg=mg{FJSluO zd33sWbk-Va!k$o{W^|wm9$2G`Cq~zRjIPKTqzj8im$(gqwSLe4@{8ZetmI8pY632K OWbkzLb6Mw<&;$VQNK5ws literal 0 HcmV?d00001 diff --git a/misc/web/index.html b/misc/web/index.html index 1a598e4..3cd04f9 100644 --- a/misc/web/index.html +++ b/misc/web/index.html @@ -2,6 +2,12 @@ + + + + + + MCPE 0.6.1