From 93791653679a806c78931350ffbfbab736110f55 Mon Sep 17 00:00:00 2001 From: Dan Kirkham Date: Tue, 18 Jan 2022 10:36:22 +0000 Subject: [PATCH] Catch access exceptions --- packages/gatsby/cache-dir/production-app.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/packages/gatsby/cache-dir/production-app.js b/packages/gatsby/cache-dir/production-app.js index 6daffadb6043c..228e3bdf50960 100644 --- a/packages/gatsby/cache-dir/production-app.js +++ b/packages/gatsby/cache-dir/production-app.js @@ -162,7 +162,18 @@ apiRunnerAsync(`onClientEntry`).then(() => { ) } + // It's possible that sessionStorage can throw an exception if access is not granted, see https://github.com/gatsbyjs/gatsby/issues/34512 + const getSessionStorage = () => { + try { + return sessionStorage + } catch { + return null + } + } + publicLoader.loadPage(browserLoc.pathname + browserLoc.search).then(page => { + const sessionStorage = getSessionStorage() + if ( page?.page?.webpackCompilationHash && page.page.webpackCompilationHash !== window.___webpackCompilationHash