Skip to content

webxr: use versioned client URL#617

Open
jiwenc-nv wants to merge 2 commits into
mainfrom
jiwenc/versioned-client-from-docs
Open

webxr: use versioned client URL#617
jiwenc-nv wants to merge 2 commits into
mainfrom
jiwenc/versioned-client-from-docs

Conversation

@jiwenc-nv

@jiwenc-nv jiwenc-nv commented Jun 3, 2026

Copy link
Copy Markdown
Collaborator

Summary by CodeRabbit

  • Documentation
    • Documentation now automatically links to version-specific CloudXR web client URLs, ensuring users always access the correct client version matching their documentation version.

@coderabbitai

coderabbitai Bot commented Jun 3, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 8ba5da18-06ae-4555-b6bc-42f0815c000d

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

This PR refactors CloudXR web client URL references across the documentation. The Sphinx configuration now computes a branch-specific client URL from the multiversion name and injects it globally via rst_epilog, providing a |web_client_url| substitution. Five documentation files then replace hardcoded URLs with this substitution variable and remove the redundant explicit reference link targets, ensuring all pages link to the correct per-version client URL.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: replacing hardcoded CloudXR web client URLs with a versioned, dynamic alternative across multiple documentation files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch jiwenc/versioned-client-from-docs

Comment @coderabbitai help to get the list of available commands and usage tips.

@sgrizan-nv

Copy link
Copy Markdown
Collaborator

Does this fix #584?

.. parsed-literal::

https://nvidia.github.io/IsaacTeleop/client/main/?oobEnable=1&serverIP=<HOST_IP>&port=48322
|web_client_url|\ ?oobEnable=1&serverIP=<HOST_IP>&port=48322

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.

I'm not 100% certain about this so please double check

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.

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.

What is it that you are uncertain about?

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.

oob does not have per release url

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.

The OOB launcher hardcoded the WebXR client at /client/main/ (in the WiFi
bookmark, the USB-local static-asset download, the cache-clear origin, and
the --usb-local help text), while the non-OOB startup line already derived a
version-matched client URL. OOB users on a release line were pointed at the
main client instead of the one matching their install.

Add a single shared resolver in oob_teleop_env:

  versioned_web_client_url(version):
    - clean MAJOR.MINOR.PATCH (tag build) -> client/vMAJOR.MINOR.PATCH/
    - rc/dev or other MAJOR.MINOR         -> client/release-MAJOR.MINOR.x/
    - unparseable                         -> client/  (site redirects to stable)

  default_web_client_origin(): reads the installed isaacteleop distribution
  version via importlib.metadata (namespace-independent) and maps it through
  the resolver; falls back to /client/main/ when the version can't be resolved
  (dev trees, tests).

Route every OOB client-URL site through default_web_client_origin() and the
non-OOB startup line through versioned_web_client_url(), so both agree on
which client to open. This generalizes the per-tag case on top of the
release-line mapping introduced for the non-OOB line (#585).

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
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.

4 participants