From a94ce1ad508fcd8a7aedeeb06928db0789d25e09 Mon Sep 17 00:00:00 2001 From: liamcottle Date: Sun, 22 Sep 2024 19:39:01 +1200 Subject: [PATCH] add service worker and webmanifest to allow pwa install for android when using termux --- src/frontend/index.html | 7 +++++++ .../public/favicons/favicon-512x512.png | Bin 0 -> 12829 bytes src/frontend/public/manifest.json | 17 +++++++++++++++++ src/frontend/public/service-worker.js | 4 ++++ 4 files changed, 28 insertions(+) create mode 100644 src/frontend/public/favicons/favicon-512x512.png create mode 100644 src/frontend/public/manifest.json create mode 100644 src/frontend/public/service-worker.js diff --git a/src/frontend/index.html b/src/frontend/index.html index 8eb489a..c9e1aeb 100644 --- a/src/frontend/index.html +++ b/src/frontend/index.html @@ -5,6 +5,7 @@ + Reticulum MeshChat @@ -24,5 +25,11 @@
+ diff --git a/src/frontend/public/favicons/favicon-512x512.png b/src/frontend/public/favicons/favicon-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..58c038a538fe7d2bb5a58e893d5dcb47b85ba800 GIT binary patch literal 12829 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 literal 0 HcmV?d00001 diff --git a/src/frontend/public/manifest.json b/src/frontend/public/manifest.json new file mode 100644 index 0000000..a33964a --- /dev/null +++ b/src/frontend/public/manifest.json @@ -0,0 +1,17 @@ +{ + "name": "MeshChat", + "short_name": "MeshChat", + "description": "A simple mesh network communications app powered by the Reticulum Network Stack.", + "scope": "/", + "start_url": "/", + "icons": [ + { + "src": "/favicons/favicon-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "display": "standalone", + "theme_color": "#FFFFFF", + "background_color": "#FFFFFF" +} diff --git a/src/frontend/public/service-worker.js b/src/frontend/public/service-worker.js new file mode 100644 index 0000000..328e48e --- /dev/null +++ b/src/frontend/public/service-worker.js @@ -0,0 +1,4 @@ +self.addEventListener('fetch',function() { + // this is required to meet the requirements for an installable pwa + // it allows the browser to ask the user if they want to install to their homescreen +});