Skip to content

docs: Add trailing slashes to internal links in develop-docs - #19813

Merged
coolguyzone merged 2 commits into
masterfrom
coolguyzone/chore/develop-docs-trailing-slashes
Oct 5, 2026
Merged

coolguyzone merged 2 commits into
masterfrom
coolguyzone/chore/develop-docs-trailing-slashes

Conversation

@coolguyzone

Copy link
Copy Markdown
Contributor

DESCRIBE YOUR PR

The last bucket from the trailing-slash work in #19639 and #19675, which covered only the user docs.

develop-docs/ renders at develop.sentry.dev from the same Next config, so the same rule applies — a link without a trailing slash is served a 308 before the page loads:

https://develop.sentry.dev/backend/application-domains   -> 308
https://develop.sentry.dev/backend/application-domains/  -> 200

240 links across 39 files, produced by pnpm lint:trailing-slash:fix from #19666. No hand edits.

Verification

  • Every changed file differs from master only by added / characters — no slash removed, no external URL altered, no other content touched
  • A sample of 25 rewritten destinations all return 200 on develop.sentry.dev
  • pnpm lint:trailing-slash is now clean for develop-docs/

The 23 violations the linter still reports are drift in docs/, fixed separately in #19811.

Note: AGENTS.md describes develop-docs/ as a submodule, but it isn't one — git submodule status is empty and the directory has direct commits in this repo. Worth correcting in that file at some point, though I've left it out of this PR.

IS YOUR CHANGE URGENT?

Help us prioritize incoming PRs by letting us know when the change needs to go live.
Select exactly one option. For deadlines, replace YYYY-MM-DD with the due date. You can update this information later by editing the PR description.

  • Urgent deadline (GA date, etc.): YYYY-MM-DD
  • Other deadline: YYYY-MM-DD
  • No deadline: 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 supplied a deadline.

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

🤖 Generated with Claude Code

develop-docs renders at develop.sentry.dev from the same Next config, so
the same rule applies there: a link without a trailing slash is served a
308 before the page loads.

  https://develop.sentry.dev/backend/application-domains   -> 308
  https://develop.sentry.dev/backend/application-domains/  -> 200

This was the last bucket left from the trailing-slash work in #19639 and
#19675, which covered only the user docs. 240 links across 39 files,
produced by `pnpm lint:trailing-slash:fix` from #19666.

Verified: every changed file differs from master only by added "/"
characters, with no slash removed and no external URL altered. A sample
of 25 rewritten destinations all return 200 on develop.sentry.dev.

`pnpm lint:trailing-slash` is now clean for develop-docs. The 23
remaining violations it reports are drift in docs/, fixed in #19811.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@vercel

vercel Bot commented Oct 5, 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 5, 2026 6:49pm UTC
sentry-docs Ready Ready Preview Oct 5, 2026 6:49pm UTC

Request Review

@github-actions github-actions Bot added sdk-develop-docs PRs touching develop-docs/sdk Priority: Normal Docs review has no urgent deadline labels Oct 5, 2026
@codeowner-assignment
codeowner-assignment Bot requested a review from a team October 5, 2026 18:29
@cursor

cursor Bot commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor

Internal docs links now include a trailing slash. Clicks should skip the extra redirect hop. The plan checks destination page views, RSC fetch failures, client errors, and 5xx responses. An issue escalates when RSC fetch failures or client errors rise, or destination page views fall.

Rollout complete

Services: develop-docs.

Plan

What changed

Internal hrefs in develop-docs MDX now end with a trailing slash. Clicks that previously took a 308 now request the canonical URL first. The change is live after a develop-docs deploy. Shared app code did not change. The sentry-docs ship does not carry this content.

Risk

A wrong slash can send a click to a missing page. Soft navigation then fails the RSC fetch and falls back to a full load. The blast radius is in-app clicks from the edited pages. Highest traffic edited pages are the self-hosted index and the getting-started index. Bookmark requests without a slash still take a 308 and stay out of scope.

Intended effect

The new behavior is a first-hop load of the canonical trailing-slash URL. Sentry recorded zero http.status_code:308 spans on project develop-docs in this window. The skipped hop is not queryable. Use destination page views as a proxy that the linked pages still resolve. absent looks like those URL counts fall toward zero while overall pageload and navigation counts hold.

Window: 2026-10-04T18:30:00Z to 2026-10-05T18:30:00Z. Source: Sentry org sentry, project develop-docs, environment production. Client traces sample at 30%.

Signal Baseline Rule
Pageload plus navigation to https://develop.sentry.dev/self-hosted/ 410 sampled spans Hold this volume class. Collapse toward zero while sitewide pageload holds is absent. Query: environment:production AND (span.op:pageload OR span.op:navigation) AND http.url:"https://develop.sentry.dev/self-hosted/"
Pageload plus navigation to https://develop.sentry.dev/getting-started/ 80 sampled spans Hold this volume class. Collapse toward zero is absent. Query: same as above with this URL
Pageload plus navigation to https://develop.sentry.dev/self-hosted/configuration/ 77 sampled spans Hold this volume class. This is the destination of the self-hosted Event Retention link. Query: same as above with this URL
Pageload plus navigation to https://develop.sentry.dev/engineering-practices/ 17 sampled spans Hold this volume class. This is the destination of the getting-started engineering-practices link. Query: same as above with this URL
Sitewide span.op:pageload count 763 sampled Denominator for the rows above. Query: environment:production AND (span.op:pageload OR span.op:navigation) grouped by span.op
Sitewide span.op:navigation count 1007 sampled Denominator for the rows above

Do not treat a steady destination count as proof the 308 hop is gone.

Regression watch

A bad href fails in-app navigation first. Watch RSC fetch errors, client exceptions, and 5xx on the catch-all page route. Resource-script 404s on hashed /_next/ chunks spiked in one hour and are not this change.

Window: 2026-10-04T18:00:00Z to 2026-10-05T18:00:00Z for hourly bands. Trace totals use 2026-10-04T18:30:00Z to 2026-10-05T18:30:00Z. Source: Sentry org sentry, project develop-docs, environment production.

Signal Baseline Rule
Error logs Failed to fetch RSC payload Hourly count 0-38. 175 in 24h. Peak 38 at 2026-10-05T02:00Z Hold the 0-38 hourly band. Rise above 38 per hour is detected. New messages that name edited paths such as /self-hosted/ or /sdk/getting-started/ are this change. Query: severity:error AND environment:production AND message:"*Failed to fetch RSC payload*"
Client error events Hourly count 0-12. 47 in 24h. Peak 12 at 2026-10-05T09:00Z Hold the 0-12 hourly band. Rise above 12 per hour is detected. Query: errors dataset environment:production count()
HTTP 5xx spans 3 spans with status 503. Zero other 5xx. 46011 spans with status 200 Hold 0-3 per 24h. Any hour above 3 is detected. Query: environment:production http.status_code:>=500 http.status_code:<600
Server or middleware HTTP 404 3 spans, all POST /[[...path]]. Zero GET document 404s GET document 404s leaving zero is detected. Query: (span.op:http.server OR span.op:middleware) http.status_code:404 environment:production

Known noise in the error total includes 26 TypeError: Cannot read properties of undefined (reading 'h6') events. Do not treat that title alone as this change.

Not observable

Edge 308 counts are not in Sentry. Traces for http.status_code:308 returned no spans. Logs do not record trailing-slash redirects. Vercel or CDN status logs are not connected. Rendered HTML hrefs are not in telemetry. The executor should leave intended effect unknown unless destination page views collapse.

The only failure on this PR's external-link check is two links to
github.com/getsentry/security-as-code, which is private: lychee gets a
404 anonymously and can never authenticate into it.

Both links are pre-existing on master and untouched by this PR, which
changes only trailing slashes on internal links. They surfaced here
because the checker scans changed files, and this PR touches the file
that holds them.

.lycheeignore already has a "Private GitHub repos" section listing
getsentry, sentry-options-automator, etl and sdk-skills; this belongs
alongside them.

Verified: lychee reports 0 errors on that file afterwards.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

@sfanahata sfanahata 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.

🥇

@coolguyzone
coolguyzone merged commit 8f62ff0 into master Oct 5, 2026
25 checks passed
@coolguyzone
coolguyzone deleted the coolguyzone/chore/develop-docs-trailing-slashes branch October 5, 2026 21:27
solnic pushed a commit that referenced this pull request Oct 8, 2026
## DESCRIBE YOUR PR

The last bucket from the trailing-slash work in #19639 and #19675, which
covered only the user docs.

`develop-docs/` renders at **develop.sentry.dev** from the same Next
config, so the same rule applies — a link without a trailing slash is
served a 308 before the page loads:

```
https://develop.sentry.dev/backend/application-domains   -> 308
https://develop.sentry.dev/backend/application-domains/  -> 200
```

**240 links across 39 files**, produced by `pnpm
lint:trailing-slash:fix` from #19666. No hand edits.

### Verification

- Every changed file differs from master **only by added `/`
characters** — no slash removed, no external URL altered, no other
content touched
- A sample of 25 rewritten destinations all return **200** on
develop.sentry.dev
- `pnpm lint:trailing-slash` is now clean for `develop-docs/`

The 23 violations the linter still reports are drift in `docs/`, fixed
separately in #19811.

> Note: `AGENTS.md` describes `develop-docs/` as a submodule, but it
isn't one — `git submodule status` is empty and the directory has direct
commits in this repo. Worth correcting in that file at some point,
though I've left it out of this PR.

## IS YOUR CHANGE URGENT?

Help us prioritize incoming PRs by letting us know when the change needs
to go live.
Select exactly one option. For deadlines, replace `YYYY-MM-DD` with the
due date. You can update this information later by editing the PR
description.

- [ ] Urgent deadline (GA date, etc.): YYYY-MM-DD
- [ ] Other deadline: YYYY-MM-DD
- [x] No deadline: 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
supplied a deadline.

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](https://github.com/orgs/getsentry/teams/docs)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>

This branch was successfully deployed

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

Labels

Priority: Normal Docs review has no urgent deadline sdk-develop-docs PRs touching develop-docs/sdk

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants