Restore SLAM and navigation reference pages as deprecated orphan pages#5191
Open
btshrewsbury-viam wants to merge 5 commits into
Open
Restore SLAM and navigation reference pages as deprecated orphan pages#5191btshrewsbury-viam wants to merge 5 commits into
btshrewsbury-viam wants to merge 5 commits into
Conversation
RDK godoc comments link to SLAM and navigation service and API reference pages. SLAM had no pages (both URLs dead-ended at a generic index), and navigation had "has been removed" tombstones missing the API method anchors. This resulted in 17 broken doc links from RDK. Restore all four pages at their canonical URLs with a "Discontinued" caution banner, reachable only by direct URL (excluded from the sidebar, sitemap, and search index via _build list: never). This keeps every RDK link resolving with working method anchors while keeping the deprecated services out of the site navigation, and is fully reversible if the services return. - Add /reference/services/slam/ and /reference/apis/services/slam/ - Restore /reference/services/navigation/ and /reference/apis/services/navigation/ with method content (regenerate the two deleted navigation API include files) - Remove the SLAM alias collision from reference/apis/_index.md and the navigation cards from the service/API index pages - Restore navigation images; prune or repair dead links in restored content Fixes #5152, #5154
✅ Deploy Preview for viam-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
This was referenced Jul 13, 2026
htmltest (development build) flagged 37 broken /operate/reference/ links in the restored navigation page — the /operate/ section is excluded from that build. Repoint them to their current /reference/ canonical paths, which resolve in all environments. Also rename the deprecated `_build` front matter key to `build` (Hugo 0.145+) and re-add the SLAM API aliases that were removed from reference/apis/_index.md so no previously published URL 404s. Verified with htmltest (0 errors), a development and production Hugo 0.152.2 build (both clean), all 13 method anchors rendering, and the four pages absent from the sidebar, sitemap, and search index.
The previous commit's bulk /operate/reference/ -> /reference/ link rewrite also rewrote the page's own alias, dropping the /operate/reference/services/navigation/ alias stub. That removed a URL that existed in the prior deploy, which the no-more-404 Netlify plugin rejects. Restore the alias so no published URL 404s (verified: the built page set now has zero removals versus main, and htmltest still passes).
The capitalized /reference/apis/services/SLAM/ alias generated a redirect stub that, on Netlify's case-insensitive serving, collided with and shadowed the real /reference/apis/services/slam/ page (the deploy served a 287-byte meta-refresh stub instead of the page). Remove the capitalized SLAM aliases; the lowercase page still answers those URLs via case-insensitive routing, so no published URL 404s.
Removing the /reference/apis/services/SLAM/ Hugo aliases unshadowed the real /slam/ page but removed URLs that the no-more-404 plugin expects, failing the deploy. Instead of Hugo aliases (which create a /SLAM/ stub that shadows the lowercase page on case-insensitive serving), handle the two capitalized URLs with edge 301 redirects to the canonical lowercase page, and add them to the plugin's skipPatterns so their consolidation is not treated as a regression. Redirect `from` matching is case-sensitive, so these rules cannot catch the lowercase /slam/ page.
Collaborator
Author
|
Shannon Bradshaw (@shannonbradshaw) This sort of reverts the changes to Nav and Slam, but hopefully in a good way. Could you please review? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

What this does
RDK still has Nav and Slam links, and there is a small chance a user is using a pinned version of RDK. This PR brings back a few pages, marks them as deprecated, and "orphans" these pages, so you can get to them if you have the link, but you can not get to them from the navigation. This fixes a few CI related failures checking links work from RDK / API to Docs, and is a better backwards compatible option.
RDK godoc doc-comments link to SLAM and navigation service and API reference pages. Those pages were gone: SLAM had no page at all (both URLs dead-ended at a generic index), and navigation had bare "has been removed" tombstone pages that dropped the API method anchors. That left 17 broken documentation links from RDK (SLAM: 6, navigation: 11), tracked in #5152 and #5154.
Both services are deprecated but may return, so rather than delete-and-redirect, this restores all four pages at their canonical URLs as deprecated, orphaned reference pages:
_build: { render: always, list: never }).#getposition,#getmode, …) lands correctly.This keeps the deprecated services out of the site's navigation while un-breaking the RDK links, and is trivially reversible if the services come back (swap the banner / re-list the page).
Changes
/reference/services/slam//reference/apis/services/slam/getposition,getpointcloudmap,getinternalstate,getproperties/reference/services/navigation//reference/apis/services/navigation/Supporting edits: removed the SLAM alias collision from
reference/apis/_index.md; removed the navigation cards from the service/API index pages (so the pages stay out of nav); restored 5 navigation images; pruned/repaired dead links in the restored navigation content (deadmovement-sensor#configurationfragments dropped, self-references made same-page, frame-system links modernized).Note
This reverses #5067 for navigation (which had removed the navigation section and pointed it to motion planning). That was intentional — the decision here is to preserve the reference behind a deprecation banner rather than redirect, since navigation may be un-deprecated. The banner deliberately carries no version number (SLAM is still registered as a builtin in RDK
main, so there is no clean "removed in vX.X").Verification
Verified against a local production build (
make build-prod, exit 0):netlify.tomlredirect shadows any of the four URLs (the/reference/services/*rule is non-forced, so it self-heals once the pages exist).Fixes #5152, fixes #5154