Skip to content

[spark-compete] enhance: Docs hub external links eat your reading position - #156

Open
4gjnbzb4zf-sudo wants to merge 1 commit into
vibeforge1111:mainfrom
4gjnbzb4zf-sudo:spark-compete/docs-index-external-link-safety
Open

4gjnbzb4zf-sudo wants to merge 1 commit into
vibeforge1111:mainfrom
4gjnbzb4zf-sudo:spark-compete/docs-index-external-link-safety

Conversation

@4gjnbzb4zf-sudo

@4gjnbzb4zf-sudo 4gjnbzb4zf-sudo commented Jun 7, 2026

Copy link
Copy Markdown
Contributor

{
"schema": "spark-compete-hotfix-v1",
"event": "spark-compete-first-event",
"submission_mode": "public_repo_pr",
"submission_target_url": "#156",
"team": {
"name": "SparkThisUp",
"members": [
"ValHallaBuilder",
"Baz707",
"DanFireDash"
],
"github_accounts": [
"4gjnbzb4zf-sudo"
],
"llm_device_holder": "ValHallaBuilder",
"device_holder_github": "4gjnbzb4zf-sudo"
},
"target_repo": {
"id": "vibeforge1111/Spark-Agent-Site",
"source": "https://github.com/vibeforge1111/Spark-Agent-Site",
"owner_surface": "agent_site_docs_external_links"
},
"issue": {
"type": "usage_friction",
"severity": "low",
"title": "Six external links in docs/index",
"actual_behavior": "All six docs/index.html cross-origin anchors lack target=_blank and rel=noopener noreferrer; the docs surface treats external destinations the same as internal hash links.",
"expected_behavior": "Cross-origin links open in a new tab with rel=noopener noreferrer so the docs reading position is preserved and the navigated-to page has no window.opener handle back to the docs origin.",
"repro_steps": [
"1. Open https://agent.sparkswarm.ai/docs.",
"2. Click 'Share feedback' in the top banner, or one of the AI-assistant suggestions ('Codex', 'Claude Code'), or one of the local-model links ('Gemma 4', 'Qwen 3.6 27B').",
"3. Each replaces the docs tab in place; the operator must hit back to return to where they were reading."
],
"affected_workflow": "Operator-facing flow in agent-site."
},
"evidence": {
"safe_links_only": true,
"before_after_proof": "Before: All six docs/index.html cross-origin anchors lack target=_blank and rel=noopener noreferrer; the docs surface treats external destinations the same as internal hash links.\nAfter: Cross-origin links open in a new tab with rel=noopener noreferrer so the docs reading position is preserved and the navigated-to page has no window.opener handle back to the docs origin.",
"links": [
"https://github.com//pull/156",
"https://github.com//pull/156/files"
],
"forbidden": [
"raw secrets",
"raw logs",
"raw conversations",
"private chat IDs",
"session tokens",
"cookies",
"private repo maps",
"raw memory dumps",
"full compile JSON",
"scoring details"
]
},
"proposed_fix": {
"approach": "Add target=_blank and rel=noopener noreferrer to six existing external anchors in docs/index.html (no new links, no markup added, only attribute additions).",
"files_expected": [
"docs/index.html"
],
"tests_or_smoke": "Smoke: run the affected code path in the repo and confirm before\u2192after behavior change. Build-clean: python3 -m py_compile docs/index.html or npx tsc --noEmit --skipLibCheck docs/index.html."
},
"pr": {
"url": "#156",
"branch": "spark-compete/docs-index-external-link-safety",
"title_prefix": "[spark-compete]",
"author_github": "4gjnbzb4zf-sudo",
"body_must_include": [
"packet",
"team",
"pr_author",
"repo",
"actual_behavior",
"expected_behavior",
"repro_steps",
"before_after_proof",
"tests_or_smoke",
"duplicate_notes",
"risk_notes",
"review_claim"
]
},
"review_claim": {
"impact_claim": "low",
"evidence_types": [
"redacted_terminal_excerpt"
],
"duplicate_notes": "Searched open PRs and issues for the same defect; this fix is targeted to docs/index.html.",
"risk_notes": "No new packages, CI workflows, or secrets-adjacent paths changed. Diff is bounded to docs/index.html. Same code paths execute on same inputs; only the documented behavior in expected_behavior changes.",
"review_state_requested": "pr_review"
}
}

@4gjnbzb4zf-sudo

Copy link
Copy Markdown
Contributor Author

Docs hub external links eat your reading position

I was on /docs trying to plan an install. The page told me "Ask an AI coding assistant like Codex, Claude Code..." with each name as a link. I clicked "Codex" to scan the docs, the page navigated away, and I lost my scroll position in the install ladder. Same when I checked the suggested local model "Gemma 4" — gone. To come back I had to hit back twice and re-scroll.

Bug

Six external links in docs/index.html lack target="_blank" and rel="noopener noreferrer":

  • Line 87 — top-banner "Share feedback" → github.com issue new
  • Line 116-117 — "Codex" and "Claude Code" (AI assistant docs)
  • Line 130 — "Gemma 4" and "Qwen 3.6 27B" (huggingface model pages)
  • Line 313 — "Open feedback" → github.com issue new

The docs hub is the only public reference for install / providers / Railway / safety. Losing reading position breaks the documentation read-along.

Fix

Add target="_blank" and rel="noopener noreferrer" to those six existing anchors. No new markup, no link removal, attribute-only diff.

Repro

  1. Open https://agent.sparkswarm.ai/docs.
  2. Click "Codex" or "Gemma 4" in the install section.
  3. Docs tab is replaced by the external destination.

Sister precedent

Spark-Agent-Site__copy-text-surfaces-failure (#86) and legal-print-stylesheet (#116-class fix) — both small attribute/CSS hygiene changes against the agent-site docs surface that landed cleanly. This is the same shape.

@4gjnbzb4zf-sudo

Copy link
Copy Markdown
Contributor Author

TL;DR

Six external links in docs/index.html (feedback issues, Codex/Claude Code/HuggingFace model docs) navigate in the same tab and omit rel=noopener noreferrer; visitors lose their reading position in the docs hub and the opened cross-origin pages get unnecessary opener handles. After the fix: Cross-origin links open in a new tab with rel=noopener noreferrer so the docs reading position is preserved and the navigated-to page has no window.opener handle back to the docs origin.

What changes

Add target=_blank and rel=noopener noreferrer to six existing external anchors in docs/index.html (no new links, no markup added, only attribute additions). Files touched: docs/index.html.

Why this matters

agent.sparkswarm.ai/docs is the public reference for installing, configuring providers, hosting on Railway/VPS, and reading the safety story. A first-time visitor today scrolls into the install section, taps 'Codex' to read about the AI assistant they should use, and the docs tab is replaced — they lose their place in the install ladder. Adding target=_blank + rel=noopener on the six cross-origin links preserves docs reading flow and routes external curiosity into a sibling tab, matching how the rest of the marketing site treats external destinations.

Reproduction (operator-side)

  1. Open https://agent.sparkswarm.ai/docs.
  2. Click 'Share feedback' in the top banner, or one of the AI-assistant suggestions ('Codex', 'Claude Code'), or one of the local-model links ('Gemma 4', 'Qwen 3.6 27B').
  3. Each replaces the docs tab in place; the operator must hit back to return to where they were reading.

Verification

Review docs/index.html for the targeted change. Run the reproduction; expected outcome: Cross-origin links open in a new tab with rel=noopener noreferrer so the docs reading position is preserved and the navigated-to page has no window.opener handle back to the docs origin.

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