-
-
Notifications
You must be signed in to change notification settings - Fork 445
Open
Labels
Status: TriageThis is the initial status for an issue that requires triage.This is the initial status for an issue that requires triage.🐛 BugIndicates that the issue is a bug or defect.Indicates that the issue is a bug or defect.
Description
Describe the bug
There is a significant misconfiguration in the StyledMarkdownBlock.tsx component that affects how internal links are handled within Markdown content. Currently, any link starting with / (internal links) is forced to open in a new tab (target="_blank") and is incorrectly mapped to href="/".
This implementation causes three primary issues:
- Broken SPA transitions: Every internal link opens a new tab and triggers a full page reload, losing the benefits of Next.js client-side navigation.
- Incorrect Prefetching: Since the
<Link>component is hardcoded withhref="/", Next.js prefetches the data for the homepage instance instead of the actual target documentation page. - UX anti-pattern: Forcing internal documentation links to open in new tabs creates unnecessary tab clutter and deviates from standard web navigation expectations.
Steps To Reproduce
- Start the development server (
yarn dev) or visit a page with markdown content like/learn/getting-started-step-by-step. - Open the browser's Network tab.
- Hover over internal links and observe that Next.js prefetches
/(the homepage) data rather than the linked page. - Click an internal link.
- Notice it opens in a new tab and performs a full browser reload.
Expected Behavior
Internal links should navigate within the same tab, use the correct path for SPA routing, and prefetch the actual target content for instant navigation.
Screenshots
No response
Device Information [optional]
- OS:
- Browser:
- version:Are you working on this issue?
Yes
Do you think this work might require an [Architectural Decision Record (ADR)]? (significant or noteworthy)
No
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Status: TriageThis is the initial status for an issue that requires triage.This is the initial status for an issue that requires triage.🐛 BugIndicates that the issue is a bug or defect.Indicates that the issue is a bug or defect.