From c2c14331b2c04293d8c3f94950027cf9633fd18a Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sun, 23 Oct 2022 14:05:18 +0200 Subject: [PATCH] Fix PWA manifest using `/web` paths (#19421) --- app/javascript/mastodon/service_worker/entry.js | 15 +++------------ app/serializers/manifest_serializer.rb | 6 +++--- 2 files changed, 6 insertions(+), 15 deletions(-) diff --git a/app/javascript/mastodon/service_worker/entry.js b/app/javascript/mastodon/service_worker/entry.js index e4c66cc00..4ec16d8e2 100644 --- a/app/javascript/mastodon/service_worker/entry.js +++ b/app/javascript/mastodon/service_worker/entry.js @@ -60,24 +60,15 @@ registerRoute( self.addEventListener('install', function(event) { event.waitUntil(Promise.all([openWebCache(), fetchRoot()]).then(([cache, root]) => cache.put('/', root))); }); + self.addEventListener('activate', function(event) { event.waitUntil(self.clients.claim()); }); + self.addEventListener('fetch', function(event) { const url = new URL(event.request.url); - if (url.pathname.startsWith('/web/')) { - const asyncResponse = fetchRoot(); - const asyncCache = openWebCache(); - - event.respondWith(asyncResponse.then( - response => { - const clonedResponse = response.clone(); - asyncCache.then(cache => cache.put('/', clonedResponse)).catch(); - return response; - }, - () => asyncCache.then(cache => cache.match('/')))); - } else if (url.pathname === '/auth/sign_out') { + if (url.pathname === '/auth/sign_out') { const asyncResponse = fetch(event.request); const asyncCache = openWebCache(); diff --git a/app/serializers/manifest_serializer.rb b/app/serializers/manifest_serializer.rb index 6b5296480..fb7ab563c 100644 --- a/app/serializers/manifest_serializer.rb +++ b/app/serializers/manifest_serializer.rb @@ -52,7 +52,7 @@ class ManifestSerializer < ActiveModel::Serializer end def start_url - '/web/home' + '/home' end def scope @@ -77,11 +77,11 @@ class ManifestSerializer < ActiveModel::Serializer [ { name: 'Compose new post', - url: '/web/publish', + url: '/publish', }, { name: 'Notifications', - url: '/web/notifications', + url: '/notifications', }, ] end