From 3414646290e110da3157c26b60b8ecb2cd7d20b6 Mon Sep 17 00:00:00 2001 From: Jakob Ackermann Date: Wed, 16 Jun 2021 10:14:32 +0200 Subject: [PATCH] Merge pull request #4207 from overleaf/bg-reset-service-worker add setting to reset service worker GitOrigin-RevId: da889e43f99c908eee1b2351f69571b4bccde28d --- .../web/app/src/Features/Project/ProjectController.js | 1 + services/web/app/views/project/editor.pug | 1 + services/web/config/settings.defaults.js | 3 +++ services/web/frontend/js/ide.js | 9 +++++++-- 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/services/web/app/src/Features/Project/ProjectController.js b/services/web/app/src/Features/Project/ProjectController.js index a52097aba9..67ae7aa842 100644 --- a/services/web/app/src/Features/Project/ProjectController.js +++ b/services/web/app/src/Features/Project/ProjectController.js @@ -894,6 +894,7 @@ const ProjectController = { ), trackPdfDownload: partOfPdfCachingRollout('collect-metrics'), enablePdfCaching: partOfPdfCachingRollout('enable-caching'), + resetServiceWorker: Boolean(Settings.resetServiceWorker), }) timer.done() } diff --git a/services/web/app/views/project/editor.pug b/services/web/app/views/project/editor.pug index 64a019b94f..97aa494119 100644 --- a/services/web/app/views/project/editor.pug +++ b/services/web/app/views/project/editor.pug @@ -188,6 +188,7 @@ block append meta meta(name="ol-showSymbolPalette" data-type="boolean" content=showSymbolPalette) meta(name="ol-enablePdfCaching" data-type="boolean" content=enablePdfCaching) meta(name="ol-trackPdfDownload" data-type="boolean" content=trackPdfDownload) + meta(name="ol-resetServiceWorker" data-type="boolean" content=resetServiceWorker) - var fileActionI18n = ['edited', 'renamed', 'created', 'deleted'].reduce((acc, i) => {acc[i] = translate('file_action_' + i); return acc}, {}) meta(name="ol-fileActionI18n" data-type="json" content=fileActionI18n) diff --git a/services/web/config/settings.defaults.js b/services/web/config/settings.defaults.js index 49d49339d9..076f375433 100644 --- a/services/web/config/settings.defaults.js +++ b/services/web/config/settings.defaults.js @@ -673,6 +673,9 @@ module.exports = { // By default turn on feature flag, can be overridden per request. enablePdfCaching: process.env.ENABLE_PDF_CACHING === 'true', + // Whether to disable any existing service worker on the next load of the editor + resetServiceWorker: process.env.RESET_SERVICE_WORKER === 'true', + // Maximum size of text documents in the real-time editing system. max_doc_length: 2 * 1024 * 1024, // 2mb diff --git a/services/web/frontend/js/ide.js b/services/web/frontend/js/ide.js index 6f4ec1ad22..c4ca347a82 100644 --- a/services/web/frontend/js/ide.js +++ b/services/web/frontend/js/ide.js @@ -32,7 +32,10 @@ import MetadataManager from './ide/metadata/MetadataManager' import ReviewPanelManager from './ide/review-panel/ReviewPanelManager' import OutlineManager from './features/outline/outline-manager' import SafariScrollPatcher from './ide/SafariScrollPatcher' -import { loadServiceWorker } from './ide/pdfng/directives/serviceWorkerManager' +import { + loadServiceWorker, + unregisterServiceWorker, +} from './ide/pdfng/directives/serviceWorkerManager' import './ide/cobranding/CobrandingDataService' import './ide/settings/index' import './ide/chat/index' @@ -363,7 +366,9 @@ If the project has been renamed please look in your project list for a new proje } ) -if (getMeta('ol-enablePdfCaching')) { +if (getMeta('ol-resetServiceWorker')) { + unregisterServiceWorker() +} else if (getMeta('ol-enablePdfCaching')) { loadServiceWorker() }