Skip to content

fix(docs): Guard localStorage access in restricted environments - #18917

Open
sentry[bot] wants to merge 1 commit into
masterfrom
seer/fix/localstorage-guard
Open

fix(docs): Guard localStorage access in restricted environments#18917
sentry[bot] wants to merge 1 commit into
masterfrom
seer/fix/localstorage-guard

Conversation

@sentry

@sentry sentry Bot commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

DESCRIBE YOUR PR

This PR addresses issue DOCS-A43, "TypeError: null is not an object (evaluating 'localStorage.setItem')", which occurred in browsers with restricted storage access like Safari Private Browsing and Android WebViews.

The root cause was unconditional access to localStorage in several components, which can be null or throw a SecurityError upon access in these environments.

Changes Made:

  1. Strengthened isLocalStorageAvailable utility (src/utils.ts): The utility now uses a try/catch block to robustly check for localStorage availability, correctly handling cases where window.localStorage is null or throws a SecurityError.
  2. Applied isLocalStorageAvailable guard: All localStorage.setItem, localStorage.getItem, and localStorage.removeItem calls in the following components are now wrapped with the isLocalStorageAvailable check:
    • src/components/platformSelector/index.tsx
    • src/components/TopNavClient.tsx
    • src/components/sidebar/MobileSidebarNav.tsx
    • src/components/breadcrumbs/index.tsx

This ensures that localStorage operations only occur when storage is genuinely available and accessible, preventing crashes and allowing for graceful degradation in restricted contexts.

IS YOUR CHANGE URGENT?

Help us prioritize incoming PRs by letting us know when the change needs to go live.

  • Urgent deadline (GA date, etc.):
  • Other deadline:
  • None: Not urgent, can wait up to 1 week+

SLA

  • Teamwork makes the dream work, so please add a reviewer to your PRs.
  • Please give the docs team up to 1 week to review your PR unless you've added an urgent due date to it.
    Thanks in advance for your help!

PRE-MERGE CHECKLIST

Make sure you've checked the following before merging your changes:

  • Checked Vercel preview for correctness, including links
  • PR was reviewed and approved by any necessary SMEs (subject matter experts)
  • PR was reviewed and approved by a member of the Sentry docs team

LEGAL BOILERPLATE

Look, I get it. The entity doing business as "Sentry" was incorporated in the State of Delaware in 2015 as Functional Software, Inc. and is gonna need some rights from me in order to utilize my contributions in this here PR. So here's the deal: I retain all rights, title and interest in and to my contributions, and by keeping this boilerplate intact I confirm that Sentry can use, modify, copy, and redistribute my contributions, under Sentry's choice of terms.

EXTRA RESOURCES

Fixes DOCS-A43

Comment @sentry <feedback> on this PR to have Autofix iterate on the changes.

@vercel

vercel Bot commented Aug 2, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
develop-docs Ready Ready Preview Aug 2, 2026 10:57am
sentry-docs Ready Ready Preview Aug 2, 2026 10:57am

Request Review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant