From ef6219e8c4fb20ff6d4e201c5978fe66e980653d Mon Sep 17 00:00:00 2001 From: Eliot Berriot <contact@eliotberriot.com> Date: Thu, 9 Jan 2020 15:23:37 +0100 Subject: [PATCH] Fixed issue with service worker scope --- changes/notes.rst | 15 +++++++++++++++ deploy/docker.nginx.template | 2 +- deploy/nginx.template | 2 +- docker/nginx/conf.dev | 1 + front/src/registerServiceWorker.js | 1 + 5 files changed, 19 insertions(+), 2 deletions(-) diff --git a/changes/notes.rst b/changes/notes.rst index 3ffbcfd25c..754d60f30f 100644 --- a/changes/notes.rst +++ b/changes/notes.rst @@ -13,6 +13,21 @@ This release includes a full redesign of our navigation, player and queue. Overa a better, less confusing experience, especially on mobile devices. This redesign was suggested 14 months ago, and took a while, but thanks to the involvement and feedback of many people, we got it done! +Progressive web app [Manual change suggested, non-docker only] +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +We've made Funkwhale's Web UI a Progressive Web Application (PWA), in order to improve the user experience +during offline use, and on mobile devices. + +In order to fully benefit from this change, if your pod isn't deployed using Docker, ensure +the following instruction is present in your nginx configuration:: + + location /front/ { + # Add the following line in the /front/ location + add_header Service-Worker-Allowed "/"; + } + + Improved search performance ^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/deploy/docker.nginx.template b/deploy/docker.nginx.template index ced42201a0..b5f01eaec2 100644 --- a/deploy/docker.nginx.template +++ b/deploy/docker.nginx.template @@ -40,7 +40,7 @@ server { location /front/ { add_header Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self' data:; object-src 'none'; media-src 'self' data:"; add_header Referrer-Policy "strict-origin-when-cross-origin"; - + add_header Service-Worker-Allowed "/"; add_header X-Frame-Options "ALLOW"; alias /frontend/; expires 30d; diff --git a/deploy/nginx.template b/deploy/nginx.template index 3dc6ccf8aa..aaa3cec7dc 100644 --- a/deploy/nginx.template +++ b/deploy/nginx.template @@ -86,7 +86,7 @@ server { location /front/ { add_header Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self' data:; object-src 'none'; media-src 'self' data:"; add_header Referrer-Policy "strict-origin-when-cross-origin"; - + add_header Service-Worker-Allowed "/"; add_header X-Frame-Options "SAMEORIGIN"; alias ${FUNKWHALE_FRONTEND_PATH}/; expires 30d; diff --git a/docker/nginx/conf.dev b/docker/nginx/conf.dev index 1807dc0882..cb22ec5680 100644 --- a/docker/nginx/conf.dev +++ b/docker/nginx/conf.dev @@ -76,6 +76,7 @@ http { add_header Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self' data:; object-src 'none'; media-src 'self' data:"; add_header Referrer-Policy "strict-origin-when-cross-origin"; add_header X-Frame-Options "SAMEORIGIN"; + add_header Service-Worker-Allowed "/"; # uncomment the following line and comment the proxy-pass one # to use the frontend build with "yarn build" #alias /frontend/dist/; diff --git a/front/src/registerServiceWorker.js b/front/src/registerServiceWorker.js index 9e689f5b85..9d76479f7a 100644 --- a/front/src/registerServiceWorker.js +++ b/front/src/registerServiceWorker.js @@ -6,6 +6,7 @@ import store from './store' if (process.env.NODE_ENV === 'production') { register(`${process.env.BASE_URL}service-worker.js`, { + registrationOptions: { scope: '/' }, ready () { console.log( 'App is being served from cache by a service worker.' -- GitLab