Skip to content

Release v2.22.1 - #1183

Merged
yogeshchoudhary147 merged 1 commit into
mainfrom
release/v2.22.1
Jul 29, 2026
Merged

Release v2.22.1#1183
yogeshchoudhary147 merged 1 commit into
mainfrom
release/v2.22.1

Conversation

@yogeshchoudhary147

@yogeshchoudhary147 yogeshchoudhary147 commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Changed

Summary by CodeRabbit

  • New Features

    • Expanded passkey API documentation with challenge retrieval and token exchange methods.
    • Improved documentation presentation for block-rendered mathematical content.
  • Documentation

    • Refreshed API reference pages, navigation, search data, anchors, and source links.
    • Added clearer guidance for popup authentication and passkey enrollment examples.
  • Chores

    • Updated the release version to 2.22.1.
    • Improved documentation site layout, styling, and error handling.

@yogeshchoudhary147
yogeshchoudhary147 requested a review from a team as a code owner July 29, 2026 06:47
@coderabbitai

coderabbitai Bot commented Jul 29, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The release updates the package version to 2.22.1 and regenerates the TypeDoc site. Documentation assets, styles, navigation/search payloads, public API pages, examples, source links, and generated HTML formatting are updated.

Changes

Release and documentation regeneration

Layer / File(s) Summary
Release metadata and documentation assets
.version, package.json, docs/assets/*
Version metadata changes to 2.22.1; documentation payloads, bundled bootstrap handling, math styling, and accordion styling are updated.
Generated class documentation
docs/classes/*
Class documentation HTML is regenerated with updated layout, anchors, inherited method rendering, navigation, and source metadata.
Generated interface documentation
docs/interfaces/*
Interface documentation HTML is regenerated; PasskeyApiClient gains documented challenge and token methods, while related examples, type declarations, anchors, and source links are updated.
Generated support documentation
docs/enums/*, docs/functions/*, docs/types/*, docs/variables/*, docs/index.html, docs/hierarchy.html, docs/modules.html
Remaining TypeDoc pages are regenerated with formatting, layout, navigation, source-link, and search/toolbar updates.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Possibly related PRs

Suggested reviewers: piyush-85

🚥 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 clearly reflects the version release, which is the main change in this pull request.
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.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Fix failing CI checks
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch release/v2.22.1

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

docs/assets/highlight.css

Parsing error: Declaration or statement expected.

docs/assets/style.css

Parsing error: Declaration expected.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@yogeshchoudhary147
yogeshchoudhary147 merged commit 361c018 into main Jul 29, 2026
13 of 16 checks passed
@yogeshchoudhary147
yogeshchoudhary147 deleted the release/v2.22.1 branch July 29, 2026 06:51

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/classes/PopupCancelledError.html`:
- Around line 13-15: Correct the source declaration or documentation metadata
for the exported PopupCancelledError and PopupOpenError classes, or disable
inclusion of the external declarations, then regenerate the docs. Update
docs/classes/PopupCancelledError.html to describe popup cancellation and
docs/classes/PopupOpenError.html to describe popup-opening failures; both sites
require corrected generated output.

In `@docs/interfaces/Auth0ContextInterface.html`:
- Around line 234-246: Update the example under getAccessTokenWithPopup to call
the exposed getAccessTokenWithPopup member instead of the undefined
getTokenWithPopup function, while preserving the existing options and config
arguments.

In `@docs/interfaces/PasskeyApiClient.html`:
- Around line 15-19: Update the PasskeyApiClient TypeDoc introductory summary to
state that the interface exposes five public methods and list getLoginChallenge,
getSignupChallenge, and getTokenWithPasskey alongside signup and login.
Regenerate the affected documentation pages so the generated HTML reflects the
updated summary.

In `@docs/interfaces/RedirectConnectAccountOptions.html`:
- Line 26: Regenerate the TypeDoc output to remove duplicated sections and
repeated examples or members, leaving one canonical section per documented item.
Apply this to docs/interfaces/RedirectConnectAccountOptions.html (26-26),
docs/interfaces/RedirectLoginOptions.html (32-32),
docs/interfaces/RevokeRefreshTokenOptions.html (25-25),
docs/interfaces/UpdateAuthenticationMethodRequest.html (22-22),
docs/interfaces/VerifyParams.html (31-31), docs/interfaces/WithAuth0Props.html
(25-25), docs/interfaces/WithAuthenticationRequiredOptions.html (25-25), and
docs/types/FetcherConfig.html (26-26); no manual documentation content changes
are needed beyond producing the clean generated files.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 937a5d52-6c2e-41b8-b055-5602685b15b1

📥 Commits

Reviewing files that changed from the base of the PR and between d790cb1 and 01719f4.

⛔ Files ignored due to path filters (2)
  • CHANGELOG.md is excluded by !CHANGELOG.md
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (100)
  • .version
  • docs/assets/hierarchy.js
  • docs/assets/highlight.css
  • docs/assets/main.js
  • docs/assets/navigation.js
  • docs/assets/search.js
  • docs/assets/style.css
  • docs/classes/AuthenticationError.html
  • docs/classes/ConnectError.html
  • docs/classes/GenericError.html
  • docs/classes/InMemoryCache.html
  • docs/classes/InvalidConfigurationError.html
  • docs/classes/LocalStorageCache.html
  • docs/classes/MfaChallengeError.html
  • docs/classes/MfaEnrollmentError.html
  • docs/classes/MfaEnrollmentFactorsError.html
  • docs/classes/MfaError.html
  • docs/classes/MfaListAuthenticatorsError.html
  • docs/classes/MfaRequiredError.html
  • docs/classes/MfaVerifyError.html
  • docs/classes/MissingRefreshTokenError.html
  • docs/classes/MissingScopesError.html
  • docs/classes/MyAccountApiError.html
  • docs/classes/OAuthError.html
  • docs/classes/PasskeyChallengeError.html
  • docs/classes/PasskeyError.html
  • docs/classes/PasskeyGetTokenError.html
  • docs/classes/PasskeyRegisterError.html
  • docs/classes/PopupCancelledError.html
  • docs/classes/PopupOpenError.html
  • docs/classes/PopupTimeoutError.html
  • docs/classes/TimeoutError.html
  • docs/classes/UseDpopNonceError.html
  • docs/classes/User.html
  • docs/enums/ResponseType.html
  • docs/functions/Auth0Provider.html
  • docs/functions/useAuth0.html
  • docs/functions/withAuth0.html
  • docs/functions/withAuthenticationRequired.html
  • docs/hierarchy.html
  • docs/index.html
  • docs/interfaces/ActClaim.html
  • docs/interfaces/Auth0ContextInterface.html
  • docs/interfaces/Authenticator.html
  • docs/interfaces/AuthorizationParams.html
  • docs/interfaces/ChallengeAuthenticatorParams.html
  • docs/interfaces/ChallengeResponse.html
  • docs/interfaces/ClientConfiguration.html
  • docs/interfaces/EnrollEmailParams.html
  • docs/interfaces/EnrollOtpParams.html
  • docs/interfaces/EnrollPushParams.html
  • docs/interfaces/EnrollSmsParams.html
  • docs/interfaces/EnrollVoiceParams.html
  • docs/interfaces/EnrollmentFactor.html
  • docs/interfaces/Factor.html
  • docs/interfaces/GetTokenSilentlyOptions.html
  • docs/interfaces/GetTokenWithPopupOptions.html
  • docs/interfaces/ICache.html
  • docs/interfaces/IdToken.html
  • docs/interfaces/LogoutOptions.html
  • docs/interfaces/LogoutUrlOptions.html
  • docs/interfaces/MfaApiClient.html
  • docs/interfaces/MyAccountApiClient.html
  • docs/interfaces/PasskeyApiClient.html
  • docs/interfaces/PopupConfigOptions.html
  • docs/interfaces/PopupLoginOptions.html
  • docs/interfaces/RedirectConnectAccountOptions.html
  • docs/interfaces/RedirectLoginOptions.html
  • docs/interfaces/RevokeRefreshTokenOptions.html
  • docs/interfaces/UpdateAuthenticationMethodRequest.html
  • docs/interfaces/VerifyParams.html
  • docs/interfaces/WithAuth0Props.html
  • docs/interfaces/WithAuthenticationRequiredOptions.html
  • docs/modules.html
  • docs/types/AppState.html
  • docs/types/Auth0ProviderOptions.html
  • docs/types/Auth0ProviderWithClientOptions.html
  • docs/types/Auth0ProviderWithConfigOptions.html
  • docs/types/AuthenticationMethod.html
  • docs/types/AuthenticationMethodType.html
  • docs/types/CacheLocation.html
  • docs/types/Cacheable.html
  • docs/types/ConnectAccountRedirectResult.html
  • docs/types/ConnectedAccount.html
  • docs/types/CustomTokenExchangeOptions.html
  • docs/types/EnrollParams.html
  • docs/types/EnrollmentChallengeOptions.html
  • docs/types/EnrollmentChallengeResponse.html
  • docs/types/EnrollmentResponse.html
  • docs/types/EnrollmentVerifyOptions.html
  • docs/types/FetcherConfig.html
  • docs/types/InteractiveErrorHandler.html
  • docs/types/MfaFactorType.html
  • docs/types/PasskeyLoginOptions.html
  • docs/types/PasskeySignupOptions.html
  • docs/types/RefreshTokenMode.html
  • docs/types/TokenEndpointResponse.html
  • docs/variables/Auth0Context.html
  • docs/variables/RefreshTokenMode.html
  • package.json

Comment on lines +13 to +15
<section class="tsd-panel tsd-comment">
<div class="tsd-comment tsd-typography"><p>Thrown when network requests to the Auth server fail.</p>
</div></section>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== repo files matching PopupCancelledError/PopupOpenError/TypeDoc =="
git ls-files | grep -E '(^docs/classes/(PopupCancelledError|PopupOpenError)\.html$|package\.json|tsconfig.*\.json$|Typedoc|typedoc|README)' | sed -n '1,120p'

echo
echo "== local docs snippets =="
for f in docs/classes/PopupCancelledError.html docs/classes/PopupOpenError.html; do
  if [ -f "$f" ]; then
    echo "--- $f ---"
    sed -n '1,60p' "$f"
  fi
done

echo
echo "== search for popup error classes in tracked src code =="
rg -n "class .*Popup.*(Cancelled|Open)Error|PopupCancelledError|PopupOpenError|`@throws`|Thrown when network|to open the popup|network requests" -S --glob '!docs/**' . | sed -n '1,220p'

Repository: auth0/auth0-react

Length of output: 18853


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== package/type definitions for generated docs =="
sed -n '1,120p' package.json
echo
sed -n '1,120p' typedoc.js

echo
echo "== import path/type metadata for popup errors in tracked code =="
rg -n "PopupCancelledError|PopupOpenError|GenericError|`@auth0/auth0-spa-js`" -S --glob '!docs/**' src .github package.json typedoc.js | sed -n '1,220p'

echo
echo "== generated docs constructor comments relevant snippets =="
python3 - <<'PY'
from pathlib import Path
import re

for path in ["docs/classes/PopupCancelledError.html", "docs/classes/PopupOpenError.html"]:
    html = Path(path).read_text(encoding="utf-8")
    m = re.search(r'class="tsd-comment tsd-typography">(?P<comment>.*?)</div>.*<div class="tsd-constructor-signature">(?P<sig>.*?)<', html, flags=re.S)
    if not m:
        print(path, "NO_MATCH")
        continue
    print(f"--- {path} ---")
    print("class comment:", re.sub(r'<[^>]+>', ' ', m.group('comment')).strip()[:200])
    print("defined in:", re.search(r'Defined in [^<]+</li>', html).group(0) if re.search(r'Defined in [^<]+</li>', html) else "N/A")
PY

Repository: auth0/auth0-react

Length of output: 5203


Correct the exported popup-error documentation.

Both docs/classes/PopupCancelledError.html and docs/classes/PopupOpenError.html are generated from @auth0/auth0-spa-js declarations and currently label both classes as “Thrown when network requests to the Auth server fail.” Update the originating declarations/metadata or disable external doc inclusion, then regenerate so consumers can distinguish popup cancellation from popup-open failures.

📍 Affects 2 files
  • docs/classes/PopupCancelledError.html#L13-L15 (this comment)
  • docs/classes/PopupOpenError.html#L13-L15
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/classes/PopupCancelledError.html` around lines 13 - 15, Correct the
source declaration or documentation metadata for the exported
PopupCancelledError and PopupOpenError classes, or disable inclusion of the
external declarations, then regenerate the docs. Update
docs/classes/PopupCancelledError.html to describe popup cancellation and
docs/classes/PopupOpenError.html to describe popup-opening failures; both sites
require corrected generated output.

Comment on lines +234 to +246
<h3 class="tsd-anchor-link" id="getaccesstokenwithpopup"><span>get<wbr/>Access<wbr/>Token<wbr/>With<wbr/>Popup</span><a href="#getaccesstokenwithpopup" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
<div class="tsd-signature"><span class="tsd-kind-property">getAccessTokenWithPopup</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">?:</span> <a href="GetTokenWithPopupOptions.html" class="tsd-signature-type tsd-kind-interface">GetTokenWithPopupOptions</a><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">config</span><span class="tsd-signature-symbol">?:</span> <a href="PopupConfigOptions.html" class="tsd-signature-type tsd-kind-interface">PopupConfigOptions</a><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol">&gt;</span></div>
<div class="tsd-comment tsd-typography"><pre><code class="js"><span class="hl-6">const</span><span class="hl-1"> </span><span class="hl-7">token</span><span class="hl-1"> = </span><span class="hl-4">await</span><span class="hl-1"> </span><span class="hl-0">getTokenWithPopup</span><span class="hl-1">(</span><span class="hl-5">options</span><span class="hl-1">, </span><span class="hl-5">config</span><span class="hl-1">);</span>
</code><button type="button">Copy</button></pre>

<p>Get an access token interactively.</p>
<p>Opens a popup with the <code>/authorize</code> URL using the parameters
provided as arguments. Random and secure <code>state</code> and <code>nonce</code>
parameters will be auto-generated. If the response is successful,
results will be valid according to their expiration times.</p>
</div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/auth0/auth0-react/blob/4dc455b2a7caf587c8c6629d34bd2dc97974a56e/src/auth0-context.tsx#L85">src/auth0-context.tsx:85</a></li></ul></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="getconfiguration"><span>get<wbr/>Configuration</span><a href="#getconfiguration" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">getConfiguration</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">()</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">Readonly</span><span class="tsd-signature-symbol">&lt;</span><a href="ClientConfiguration.html" class="tsd-signature-type tsd-kind-interface">ClientConfiguration</a><span class="tsd-signature-symbol">&gt;</span></div><div class="tsd-comment tsd-typography"><pre><code class="js"><span class="hl-6">const</span><span class="hl-1"> </span><span class="hl-7">config</span><span class="hl-1"> = </span><span class="hl-0">getConfiguration</span><span class="hl-1">();</span><br/><span class="hl-3">// { domain: &#39;tenant.auth0.com&#39;, clientId: &#39;abc123&#39; }</span>
</div><aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/auth0/auth0-react/blob/d790cb18bb55952b5227851a96ecdb8c41770249/src/auth0-context.tsx#L85">src/auth0-context.tsx:85</a></li></ul></aside></section>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Fix the popup-token example.

Line 236 calls getTokenWithPopup, but the exposed member is getAccessTokenWithPopup; copied code will reference an undefined function.

Proposed fix
-const token = await getTokenWithPopup(options, config);
+const token = await getAccessTokenWithPopup(options, config);
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
<h3 class="tsd-anchor-link" id="getaccesstokenwithpopup"><span>get<wbr/>Access<wbr/>Token<wbr/>With<wbr/>Popup</span><a href="#getaccesstokenwithpopup" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
<div class="tsd-signature"><span class="tsd-kind-property">getAccessTokenWithPopup</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">?:</span> <a href="GetTokenWithPopupOptions.html" class="tsd-signature-type tsd-kind-interface">GetTokenWithPopupOptions</a><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">config</span><span class="tsd-signature-symbol">?:</span> <a href="PopupConfigOptions.html" class="tsd-signature-type tsd-kind-interface">PopupConfigOptions</a><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol">&gt;</span></div>
<div class="tsd-comment tsd-typography"><pre><code class="js"><span class="hl-6">const</span><span class="hl-1"> </span><span class="hl-7">token</span><span class="hl-1"> = </span><span class="hl-4">await</span><span class="hl-1"> </span><span class="hl-0">getTokenWithPopup</span><span class="hl-1">(</span><span class="hl-5">options</span><span class="hl-1">, </span><span class="hl-5">config</span><span class="hl-1">);</span>
</code><button type="button">Copy</button></pre>
<p>Get an access token interactively.</p>
<p>Opens a popup with the <code>/authorize</code> URL using the parameters
provided as arguments. Random and secure <code>state</code> and <code>nonce</code>
parameters will be auto-generated. If the response is successful,
results will be valid according to their expiration times.</p>
</div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/auth0/auth0-react/blob/4dc455b2a7caf587c8c6629d34bd2dc97974a56e/src/auth0-context.tsx#L85">src/auth0-context.tsx:85</a></li></ul></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="getconfiguration"><span>get<wbr/>Configuration</span><a href="#getconfiguration" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">getConfiguration</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">()</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">Readonly</span><span class="tsd-signature-symbol">&lt;</span><a href="ClientConfiguration.html" class="tsd-signature-type tsd-kind-interface">ClientConfiguration</a><span class="tsd-signature-symbol">&gt;</span></div><div class="tsd-comment tsd-typography"><pre><code class="js"><span class="hl-6">const</span><span class="hl-1"> </span><span class="hl-7">config</span><span class="hl-1"> = </span><span class="hl-0">getConfiguration</span><span class="hl-1">();</span><br/><span class="hl-3">// { domain: &#39;tenant.auth0.com&#39;, clientId: &#39;abc123&#39; }</span>
</div><aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/auth0/auth0-react/blob/d790cb18bb55952b5227851a96ecdb8c41770249/src/auth0-context.tsx#L85">src/auth0-context.tsx:85</a></li></ul></aside></section>
<h3 class="tsd-anchor-link" id="getaccesstokenwithpopup"><span>get<wbr/>Access<wbr/>Token<wbr/>With<wbr/>Popup</span><a href="`#getaccesstokenwithpopup`" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
<div class="tsd-signature"><span class="tsd-kind-property">getAccessTokenWithPopup</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">options</span><span class="tsd-signature-symbol">?:</span> <a href="GetTokenWithPopupOptions.html" class="tsd-signature-type tsd-kind-interface">GetTokenWithPopupOptions</a><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">config</span><span class="tsd-signature-symbol">?:</span> <a href="PopupConfigOptions.html" class="tsd-signature-type tsd-kind-interface">PopupConfigOptions</a><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol">&gt;</span></div>
<div class="tsd-comment tsd-typography"><pre><code class="js"><span class="hl-6">const</span><span class="hl-1"> </span><span class="hl-7">token</span><span class="hl-1"> = </span><span class="hl-4">await</span><span class="hl-1"> </span><span class="hl-0">getAccessTokenWithPopup</span><span class="hl-1">(</span><span class="hl-5">options</span><span class="hl-1">, </span><span class="hl-5">config</span><span class="hl-1">);</span>
</code><button type="button">Copy</button></pre>
<p>Get an access token interactively.</p>
<p>Opens a popup with the <code>/authorize</code> URL using the parameters
provided as arguments. Random and secure <code>state</code> and <code>nonce</code>
parameters will be auto-generated. If the response is successful,
results will be valid according to their expiration times.</p>
</div><aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/auth0/auth0-react/blob/d790cb18bb55952b5227851a96ecdb8c41770249/src/auth0-context.tsx#L85">src/auth0-context.tsx:85</a></li></ul></aside></section>
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/interfaces/Auth0ContextInterface.html` around lines 234 - 246, Update
the example under getAccessTokenWithPopup to call the exposed
getAccessTokenWithPopup member instead of the undefined getTokenWithPopup
function, while preserving the existing options and config arguments.

Comment on lines 15 to 19
<p>Provides 2 public methods:</p>
<ul>
<li><code>signup</code> — Register a new user with a passkey (full flow: challenge → WebAuthn → token exchange)</li>
<li><code>login</code> — Sign in with a passkey (full flow: challenge → WebAuthn → token exchange)</li>
</ul>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Update the stale public-method summary.

This says there are two public methods, but the interface now exposes five, including getLoginChallenge, getSignupChallenge, and getTokenWithPasskey. Update the introductory list in the TypeDoc source and regenerate these pages.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/interfaces/PasskeyApiClient.html` around lines 15 - 19, Update the
PasskeyApiClient TypeDoc introductory summary to state that the interface
exposes five public methods and list getLoginChallenge, getSignupChallenge, and
getTokenWithPasskey alongside signup and login. Regenerate the affected
documentation pages so the generated HTML reflects the updated summary.

<h5 class="tsd-index-heading uppercase">Index</h5></summary>
<div class="tsd-accordion-details">
<section class="tsd-index-section">
<h3 class="tsd-index-heading tsd-anchor-link" id="properties">Properties<a href="#properties" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | 🏗️ Heavy lift

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Inspect the repository docs files around the reported sections and search for duplicate IDs/nodes.
files=(
  docs/interfaces/RedirectConnectAccountOptions.html
  docs/interfaces/RedirectLoginOptions.html
  docs/interfaces/RevokeRefreshTokenOptions.html
  docs/interfaces/UpdateAuthenticationMethodRequest.html
  docs/interfaces/VerifyParams.html
  docs/interfaces/WithAuth0Props.html
  docs/interfaces/WithAuthenticationRequiredOptions.html
  docs/types/FetcherConfig.html
)

printf 'Files exist:\n'
for f in "${files[@]}"; do
  if [ -f "$f" ]; then
    echo "OK $f"
  else
    echo "MISSING $f"
  fi
done

printf '\nReported headings around reported lines:\n'
for f in "${files[@]}"; do
  if [ -f "$f" ]; then
    echo "--- $f"
    nl -ba "$f" | sed -n '18,37p'
  fi
done

printf '\nUnique anchor IDs in each file (first 80 IDs):\n'
python3 - <<'PY'
import re, pathlib
files = [
  "docs/interfaces/RedirectConnectAccountOptions.html",
  "docs/interfaces/RedirectLoginOptions.html",
  "docs/interfaces/RevokeRefreshTokenOptions.html",
  "docs/interfaces/UpdateAuthenticationMethodRequest.html",
  "docs/interfaces/VerifyParams.html",
  "docs/interfaces/WithAuth0Props.html",
  "docs/interfaces/WithAuthenticationRequiredOptions.html",
  "docs/types/FetcherConfig.html",
]
for path in files:
    text = pathlib.Path(path).read_text(encoding="utf-8", errors="ignore")
    ids = re.findall(r'\bid=([\"\'])([^"\']+)\1(?:\s+|\s*\/?:)', text)
    print(path, len(ids), "duplicates:", [x for x in ids if ids.count(x) > 1][:5])
    print("  ", ids[:80])
PY

printf '\nRepeated heading/marker occurrences for selected labels:\n'
python3 - <<'PY'
import re, pathlib
patterns = [
    r'<h3[^>]*id=.*?properties',
    r'<h4[^>]*auth0',
    r'<h4[^>]*audience',
    r'<h4[^>]*mfa',
    r'<h4[^>]*expiresInAs',
    r'<h4[^>]*clientAppType',
    r'<h4[^>]*refreshToken',
    r'<h4[^>]*challenge',
    r'<h4[^>]*member',
]
files = [
  "docs/interfaces/RedirectConnectAccountOptions.html",
  "docs/interfaces/RedirectLoginOptions.html",
  "docs/interfaces/RevokeRefreshTokenOptions.html",
  "docs/interfaces/UpdateAuthenticationMethodRequest.html",
  "docs/interfaces/VerifyParams.html",
  "docs/interfaces/WithAuth0Props.html",
  "docs/interfaces/WithAuthenticationRequiredOptions.html",
  "docs/types/FetcherConfig.html",
]
for path in files:
    text = pathlib.Path(path).read_text(encoding="utf-8", errors="ignore")
    print(f"--- {path}")
    for pat in patterns:
        matches = re.findall(pat, text, flags=re.I)
        if len(matches) > 1:
            print(f"  {pat}: {len(matches)}")
            mtext = '\n'.join(matches[:5])
            print(mtext)
PY

Repository: auth0/auth0-react

Length of output: 680


🏁 Script executed:

#!/bin/bash
set -euo pipefail

files=(
  docs/interfaces/RedirectConnectAccountOptions.html
  docs/interfaces/RedirectLoginOptions.html
  docs/interfaces/RevokeRefreshTokenOptions.html
  docs/interfaces/UpdateAuthenticationMethodRequest.html
  docs/interfaces/VerifyParams.html
  docs/interfaces/WithAuth0Props.html
  docs/interfaces/WithAuthenticationRequiredOptions.html
  docs/types/FetcherConfig.html
)

printf 'Reported headings around reported lines:\n'
for f in "${files[@]}"; do
  echo "--- $f"
  sed -n '18,37p' "$f" | cat -n
done

printf '\nAnchor IDs and duplicates per file:\n'
python3 - <<'PY'
import re, pathlib
files = [
  "docs/interfaces/RedirectConnectAccountOptions.html",
  "docs/interfaces/RedirectLoginOptions.html",
  "docs/interfaces/RevokeRefreshTokenOptions.html",
  "docs/interfaces/UpdateAuthenticationMethodRequest.html",
  "docs/interfaces/VerifyParams.html",
  "docs/interfaces/WithAuth0Props.html",
  "docs/interfaces/WithAuthenticationRequiredOptions.html",
  "docs/types/FetcherConfig.html",
]
for path in files:
    text = pathlib.Path(path).read_text(encoding="utf-8", errors="ignore")
    ids = re.findall(r'\bid=(["\'])([^"\']+)\1(?:\s+|\s*\/?:)', text)
    counts = {}
    for _, x in ids:
        counts[x] = counts.get(x, 0) + 1
    dups = sorted([(x, n) for x, n in counts.items() if n > 1], key=lambda x: (-x[1], x[0]))[:20]
    print(path, "ids:", len(ids), "duplicates:", dups[:10])
    print("  ", ids[:80])
PY

printf '\nRepeated h3/h4 headings for selected labels:\n'
python3 - <<'PY'
import re, pathlib
files = [
  "docs/interfaces/RedirectConnectAccountOptions.html",
  "docs/interfaces/RedirectLoginOptions.html",
  "docs/interfaces/RevokeRefreshTokenOptions.html",
  "docs/interfaces/UpdateAuthenticationMethodRequest.html",
  "docs/interfaces/VerifyParams.html",
  "docs/interfaces/WithAuth0Props.html",
  "docs/interfaces/WithAuthenticationRequiredOptions.html",
  "docs/types/FetcherConfig.html",
]
patterns = [
    r'<h3[^>]*id=.*?properties[^>]*>',
    r'<h4[^>]*id=.*?auth0',
    r'<h4[^>]*id=.*?audience',
    r'<h4[^>]*id=.*?mfa',
    r'<h4[^>]*id=.*?clientAppType',
    r'<h4[^>]*id=.*?refreshToken',
    r'<h4[^>]*id=.*?challenge',
    r'<h4[^>]*id=.*?expiresInAs',
]
for path in files:
    text = pathlib.Path(path).read_text(encoding="utf-8", errors="ignore")
    print(f"--- {path}")
    for pat in patterns:
        matches = re.findall(pat, text, flags=re.I)
        if len(matches) > 1:
            print(f"  {pat}: {len(matches)}")
            for m in matches[:3]:
                sub = re.search(r'<h[34][^>]*>([^<]*(?:</h[34]>))?', m, flags=re.I | re.DOTALL)
                print("    ", sub.group(0)[:300].replace("\n"," "))
PY

printf '\nSearch for repeated member/example property blocks by common marker strings:\n'
python3 - <<'PY'
import re, pathlib
files = [
  "docs/interfaces/RedirectConnectAccountOptions.html",
  "docs/interfaces/RedirectLoginOptions.html",
  "docs/interfaces/RevokeRefreshTokenOptions.html",
  "docs/interfaces/UpdateAuthenticationMethodRequest.html",
  "docs/interfaces/VerifyParams.html",
  "docs/interfaces/WithAuth0Props.html",
  "docs/interfaces/WithAuthenticationRequiredOptions.html",
  "docs/types/FetcherConfig.html",
]
for path in files:
    text = pathlib.Path(path).read_text(encoding="utf-8", errors="ignore")
    hits = [x for x in [
        '<h4 id="mfa">',
        '<h4 id="auth0">',
        '<h4 id="audience">',
        '<h4 id="clientAppType">',
        '<h4 id="refreshToken">',
        '<h4 id="challenge">',
        '<h4 id="expiresInAs">',
        '<a href="`#properties`"',
    ] if text.count(x) > 1]
    if hits:
        print(f"--- {path}")
        for h in hits:
            print(f"{h}: {text.count(h)}")
            start = text.find(h)
            start = text.rfind('<', 0, start)
            snippet = text[start:start+400].replace("\n", "\\n")
            print("  ", snippet)
PY

Repository: auth0/auth0-react

Length of output: 28324


Regenerate a proper TypeDoc build to remove duplicated documentation sections. The listed pages contain duplicated sections with IDs like properties, example, example-1, and example-2, plus repeated examples/members in several pages. A clean TypeDoc generation should emit one canonical section per documented item.

📍 Affects 8 files
  • docs/interfaces/RedirectConnectAccountOptions.html#L26-L26 (this comment)
  • docs/interfaces/RedirectLoginOptions.html#L32-L32
  • docs/interfaces/RevokeRefreshTokenOptions.html#L25-L25
  • docs/interfaces/UpdateAuthenticationMethodRequest.html#L22-L22
  • docs/interfaces/VerifyParams.html#L31-L31
  • docs/interfaces/WithAuth0Props.html#L25-L25
  • docs/interfaces/WithAuthenticationRequiredOptions.html#L25-L25
  • docs/types/FetcherConfig.html#L26-L26
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/interfaces/RedirectConnectAccountOptions.html` at line 26, Regenerate
the TypeDoc output to remove duplicated sections and repeated examples or
members, leaving one canonical section per documented item. Apply this to
docs/interfaces/RedirectConnectAccountOptions.html (26-26),
docs/interfaces/RedirectLoginOptions.html (32-32),
docs/interfaces/RevokeRefreshTokenOptions.html (25-25),
docs/interfaces/UpdateAuthenticationMethodRequest.html (22-22),
docs/interfaces/VerifyParams.html (31-31), docs/interfaces/WithAuth0Props.html
(25-25), docs/interfaces/WithAuthenticationRequiredOptions.html (25-25), and
docs/types/FetcherConfig.html (26-26); no manual documentation content changes
are needed beyond producing the clean generated files.

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