Skip to content

fix(docs): version-picker shows selected option on /versions/latest/ - #187

Merged
Chris-Wolfgang merged 2 commits into
mainfrom
fix/version-picker-latest-select
Jul 20, 2026
Merged

fix(docs): version-picker shows selected option on /versions/latest/#187
Chris-Wolfgang merged 2 commits into
mainfrom
fix/version-picker-latest-select

Conversation

@Chris-Wolfgang

Copy link
Copy Markdown
Owner

Summary

Fan-out of Try-Pattern PR #247. The version-picker JS had a dead URL-match resolution block that tried to match the latest alias URL (/<repo>/versions/latest/) against concrete version URLs (/<repo>/versions/vX.Y.Z/) — structurally different by construction, so the match NEVER succeeded. The render loop then unconditionally skipped the latest entry, leaving no option selected on /versions/latest/.

Fix: delete the dead resolution block; keep latest as a first-class option ONLY when the reader is on /versions/latest/. On concrete-version pages the skip still applies — no redundant latest + vX.Y.Z pair.

Same patch, same file. Direct fan-out of Try-Pattern's canonical.

Verification

Try-Pattern PR verified via HTML harness across 4 URL cases; change event fires and navigates correctly. See Try-Pattern #247 for details.

🤖 Generated with Claude Code

Copilot AI review requested due to automatic review settings July 14, 2026 01:22

Copilot AI 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.

Pull request overview

This PR updates the DocFX site’s version-picker.js so the version dropdown correctly shows a selected option when viewing documentation under /versions/latest/, by removing a dead “resolve latest to concrete version” block and adjusting how the latest alias is handled during option rendering.

Changes:

  • Removed a URL-based “latest resolution” block that could never match due to structural URL differences.
  • Adjusted dropdown rendering logic and comments around when to include/skip the latest alias.

Comment thread docfx_project/public/version-picker.js Outdated
Comment thread docfx_project/public/version-picker.js
Copilot on #187 flagged that `currentVersion` defaulted to `'latest'`
on non-versioned pages (site root, docs pages, etc.), and the skip
predicate `v.version === 'latest' && currentVersion !== 'latest'`
therefore didn't fire on those pages either — surfacing `latest` in
the picker outside of `/versions/latest/`, which contradicts the PR
intent.

Change the default from the string `'latest'` to `null`. Now:

- On `/versions/latest/`  currentVersion === 'latest'  → `latest`
  included, `latest` option selected.
- On `/versions/v0.2.1/`  currentVersion === 'v0.2.1' → `latest`
  skipped, v0.2.1 option selected.
- On non-versioned pages  currentVersion === null     → `latest`
  skipped, no option pre-selected.

The `if (v.version === currentVersion)` selection line still works —
`v.version === null` is always false, so no spurious selection on
non-versioned pages.

Updated the inline comment to describe the new starts-null semantics.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@Chris-Wolfgang
Chris-Wolfgang merged commit c349405 into main Jul 20, 2026
8 checks passed
@Chris-Wolfgang
Chris-Wolfgang deleted the fix/version-picker-latest-select branch July 20, 2026 22:42
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.

2 participants