From 216333d7cc2e23b89f9e708cdcbee5526759ee50 Mon Sep 17 00:00:00 2001 From: "sentry[bot]" <39604003+sentry[bot]@users.noreply.github.com> Date: Sat, 25 Jul 2026 10:39:50 +0000 Subject: [PATCH] fix(platform-selector): Guard localStorage access to prevent ReferenceError --- src/components/platformSelector/index.tsx | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/components/platformSelector/index.tsx b/src/components/platformSelector/index.tsx index e151f71d04c31..3efef239e68fe 100644 --- a/src/components/platformSelector/index.tsx +++ b/src/components/platformSelector/index.tsx @@ -16,7 +16,7 @@ import { } from 'react'; import {PlatformIcon} from 'sentry-docs/components/platformIcon'; import {Platform, PlatformGuide, PlatformIntegration} from 'sentry-docs/types'; -import {uniqByReference} from 'sentry-docs/utils'; +import {isLocalStorageAvailable, uniqByReference} from 'sentry-docs/utils'; import {SidebarLink, SidebarSeparator} from '../sidebar/sidebarLink'; import styles from './style.module.scss'; @@ -116,7 +116,9 @@ export function PlatformSelector({ platform => platform.key === platformKey.replace('-redirect', '') ); if (platform_) { - localStorage.setItem('active-platform', platform_.key); + if (isLocalStorageAvailable()) { + localStorage.setItem('active-platform', platform_.key); + } // Use hard navigation for faster page load window.location.href = platform_.url; } @@ -145,6 +147,9 @@ export function PlatformSelector({ }, []); useLayoutEffect(() => { + if (!isLocalStorageAvailable()) { + return; + } if (currentPlatformKey) { localStorage.setItem('active-platform', currentPlatformKey); } else { @@ -389,7 +394,9 @@ function PlatformItem({ style={{cursor: 'pointer', display: 'flex', alignItems: 'center'}} onClick={() => { if (typeof window !== 'undefined') { - localStorage.setItem('active-platform', platform.key); + if (isLocalStorageAvailable()) { + localStorage.setItem('active-platform', platform.key); + } window.location.href = platform.url; } }} @@ -511,7 +518,9 @@ function GuideItem({guide, dropdownStyle = false, listOnly = false}: GuideItemPr }} onClick={() => { if (typeof window !== 'undefined') { - localStorage.setItem('active-platform', guide.key); + if (isLocalStorageAvailable()) { + localStorage.setItem('active-platform', guide.key); + } window.location.href = guide.url; } }}