Skip to content

feat(sidebar): Add Overview link to sections with a hidden landing page - #19998

Merged
sergical merged 1 commit into
masterfrom
feat/sidebar-section-overview-link
Oct 22, 2026
Merged

sergical merged 1 commit into
masterfrom
feat/sidebar-section-overview-link

Conversation

@sentry-junior

@sentry-junior sentry-junior Bot commented Oct 15, 2026

Copy link
Copy Markdown
Contributor

SDK features overview pages (e.g. Android Features) are hidden from the sidebar, so the only way to reach them was clicking the FEATURES section header. That header doesn't look clickable, and nothing in the sidebar is highlighted when you're on the page.

This makes the section header plain text and adds an Overview item as the first entry in the section, the same way the platform title gets a Quick Start child. Overview is a regular sidebar link, so it's highlighted when you're on the page.

When Overview shows up

A section gets Overview only if its landing page (<root>/features/, configured in SECTION_LANDING_PAGES) exists and is sidebar_hidden. Visible landing pages already have their own sidebar entry, so they don't get a second link. Examples:

  • JS framework guides (React, Vue, Nuxt…): "React Features" is a visible top-level item with sub-pages, so no Overview is added. The section header there is no longer a duplicate link.
  • configuration/index.mdx ("Extended Configuration") is a regular item in the Configuration section, and configuration isn't a landing-page section, so nothing changes there.
  • Guides without a features page (e.g. Next.js) get no Overview.

Frontmatter cleanup

These pages were inconsistent with Android, macOS, watchOS, Flutter and the Apple/Dart/React Native common pages:

  • Apple iOS, tvOS and visionOS features/index.mdx: added sidebar_hidden: true. They used to show as a separate "Features" item at the top of the sidebar.
  • Kotlin Multiplatform features/index.mdx: replaced sidebar_section: features with sidebar_hidden: true. It used to show as a "Features" item inside the Features section, in addition to the header link.

renderChildren no longer needs rootPath, so I removed it.

Verification

  • vitest run src/components/sidebar: new dynamicNav.spec.ts passes (4 tests)
  • eslint src/components/sidebar/, prettier --check on the changed TS files, and tsc --skipLibCheck --noEmit (with a generated next-env.d.ts) are clean
  • Checked the rendered sidebar HTML from local next dev:
    • /platforms/android/features/: plain FEATURES header, then Overview (active), then Capturing Errors, Tracing…
    • /platforms/apple/guides/ios/ and /platforms/kotlin/guides/kotlin-multiplatform/: Overview is the first item in Features, and the page is linked from the sidebar only once
    • /platforms/javascript/guides/react/ and /nextjs/: no Overview, plain header

No screenshots were taken. A visual check on the preview deploy is worth doing.

via @sergical.

--

View Junior Session [Sentry]

The Features section header was the only way to reach a platform's
features overview page, and it didn't look clickable. Render the header
as plain text and add an "Overview" item as the section's first entry,
like Quick Start, so it's discoverable and gets the active state.

Only hidden landing pages get an Overview link, since visible ones
already have a sidebar entry. Hide the Apple iOS/tvOS/visionOS and
Kotlin Multiplatform features pages so they match the other platforms.

Co-Authored-By: Sergiy Deceive-skiy <3760543+sergical@users.noreply.github.com>
@vercel

vercel Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

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

Project Deployment Actions Updated
develop-docs Ready Ready Preview Oct 15, 2026 2:08pm UTC
sentry-docs Ready Ready Preview Oct 15, 2026 2:08pm UTC

Request Review

@codeowner-assignment
codeowner-assignment Bot requested a review from a team October 15, 2026 14:01
@github-actions github-actions Bot added the Priority: Needs Triage The PR description is missing valid priority information label Oct 15, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Please update the IS YOUR CHANGE URGENT? section of the PR description:

  • Select exactly one option.
  • If you selected an urgent or other deadline, provide the date as YYYY-MM-DD.

This information helps the Docs team prioritize your review.

@cursor

cursor Bot commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

The plan checks platform page loads, client JavaScript errors, and sidebar exceptions. An issue escalates when the client error rate rises or sidebar exceptions appear.

Rollout complete

Services: sentry-docs, develop-docs.

Plan

What changed

Platform docs sidebars now show a plain Features header. A hidden Features landing page gets an Overview link as the first item. iOS, tvOS, visionOS, and Kotlin Multiplatform Features pages are now hidden from the sidebar. sentry-docs and develop-docs must deploy before this change is live. Shared sidebar source builds into both Vercel projects. The deploy workflow maps those projects to these two services.

Risk

A throw in the sidebar renderer can hide platform nav on the page. A bad Overview path sends readers to a missing Features landing page. Readers who clicked the Features header now click plain text. Developer docs share this renderer, so a throw can hide that sidebar too.

Intended effect

The change worked when readers still open hidden Features landing pages through Overview. Absent looks like those landing page loads fall while other platform page loads hold. Path-level landing page loads were not measured. See Not observable. Do not treat fleet platform page loads as proof that Overview works.

Regression watch

A broken sidebar first shows as client JavaScript errors or a drop in platform page loads. Watch developer docs errors when that site ships the shared renderer.

Signal Baseline Window Rule Source
Client JavaScript error rate 0.70-1.15% of page loads 2026-10-13T14:00:00Z to 2026-10-15T14:00:00Z Hold in band. Escalate if the rate rises above 1.15%. Sentry org sentry, project docs. Errors: platform:javascript environment:production count. Volume: docs.page.load sum in production. Last 24h was 223 errors and 19380 page loads. Prior 24h was 136 errors and 19432 page loads.
Sidebar exceptions 0 events 2026-10-14T14:00:00Z to 2026-10-15T14:00:00Z Hold at 0. Sentry org sentry, project docs. Query: environment:production platform:javascript (message:*sidebar* OR message:*dynamicNav* OR message:*CollapsibleSidebarLink* OR message:"Unknown path cannot render sidebar").
Platform page loads 6.4-6.6 TPM 2026-10-13T14:00:00Z to 2026-10-15T14:00:00Z Hold in band. Escalate if volume falls below 6.4 TPM. Sentry org sentry, project docs. Metric docs.page.load with page_type:platforms in production. Last 24h was 9250 loads. Prior 24h was 9505 loads.
Developer docs JavaScript errors 26-29 events per 24h 2026-10-13T14:00:00Z to 2026-10-15T14:00:00Z Hold in band. Escalate if the count rises above 29 per 24h. Sentry org sentry, project develop-docs. Query: platform.name:javascript environment:production count. Last 24h was 29. Prior 24h was 26. Page load volume for this site was not queried.

If the error rate rises, inspect issues that mention sidebar, DynamicNav, or CollapsibleSidebarLink.

Not observable

Path-level docs.page.load for Features landing pages was not measured. The path group query timed out. Pageload spans for /platforms/android/features/ returned 0. Features-specific 404s are not visible. docs.page.not_found keeps only the first two path segments. The app does not emit an Overview click metric. Intended effect stays unknown without a path-level landing page load signal. Developer docs page load volume was not queried, so that error watch is a count only.

@coolguyzone coolguyzone left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes look good to me, this is a good UI improvement.

@sergical
sergical merged commit effac90 into master Oct 22, 2026
29 checks passed
@sergical
sergical deleted the feat/sidebar-section-overview-link branch October 22, 2026 19:57

This branch was successfully deployed

2 active deployments
Preview – sentry-docs — f543ee17 Deployed Oct 15, 2026 by vercel[bot]
Preview – develop-docs — f543ee17 Deployed Oct 15, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Priority: Needs Triage The PR description is missing valid priority information

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants