From 0482670fec187f3361531a6b8a4672430b65345f Mon Sep 17 00:00:00 2001 From: Rosa Gutierrez Date: Fri, 20 Feb 2026 12:07:38 +0100 Subject: [PATCH] Exclude service worker and edit/pin/watch/new pages from main cache We don't need the service worker to cache itself, or pages that won't work offline anyway. --- app/javascript/controllers/magic_link_controller.js | 2 +- app/views/pwa/service_worker.js.erb | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/app/javascript/controllers/magic_link_controller.js b/app/javascript/controllers/magic_link_controller.js index 3e2e4618c..8217af5aa 100644 --- a/app/javascript/controllers/magic_link_controller.js +++ b/app/javascript/controllers/magic_link_controller.js @@ -15,7 +15,7 @@ export default class extends Controller { submit() { if (this.inputTarget.disabled) return - this.element.submit() + this.element.requestSubmit() this.inputTarget.disabled = true } } diff --git a/app/views/pwa/service_worker.js.erb b/app/views/pwa/service_worker.js.erb index 84f274673..095595f4e 100644 --- a/app/views/pwa/service_worker.js.erb +++ b/app/views/pwa/service_worker.js.erb @@ -5,6 +5,7 @@ importScripts("<%= javascript_url("turbo-offline-umd.min") %>") // an annoying Safari PWA bug that predates offline mode TurboOffline.addRule({ match: (request) => request.destination === "document", + except: /\/(edit|pin|watch|new)$/, handler: TurboOffline.handlers.networkFirst({ cacheName: "main", maxAge: 60 * 60 * 24 * 3, @@ -47,6 +48,7 @@ TurboOffline.addRule({ // Everything else TurboOffline.addRule({ + except: /\/(service-worker\.js|edit|pin|watch|new)$/, handler: TurboOffline.handlers.networkFirst({ cacheName: "main", maxAge: 60 * 60 * 24,