Skip to content

docs(backend): fix Dashboard links and method reference layout - #9372

Merged
SarahSoutoul merged 4 commits into
mainfrom
ss/fix-lock-user-doc-link
Aug 10, 2026
Merged

docs(backend): fix Dashboard links and method reference layout#9372
SarahSoutoul merged 4 commits into
mainfrom
ss/fix-lock-user-doc-link

Conversation

@SarahSoutoul

@SarahSoutoul SarahSoutoul commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Description

This PR fixes two outdated Dashboard links in the generated UserAPI and lockUser() reference documentation by pointing them to the current Rules page.

It also updates the Typedoc extractor to omit @example blocks only from dedicated backend method page fragments, ensuring those pages follow a consistent layout while preserving examples in JSDoc, aggregate API documentation, and shared object reference fragments.

Checklist

  • pnpm test runs as expected.
  • pnpm build runs as expected.
  • (If applicable) JSDoc comments have been added or updated for any package exports
  • (If applicable) Documentation has been updated

Type of change

  • 🐛 Bug fix
  • 🌟 New feature
  • 🔨 Breaking change
  • 📖 Refactoring / dependency upgrade / documentation
  • other:

@changeset-bot

changeset-bot Bot commented Aug 10, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: d2625f8

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 10 packages
Name Type
@clerk/backend Patch
@clerk/astro Patch
@clerk/express Patch
@clerk/fastify Patch
@clerk/hono Patch
@clerk/nextjs Patch
@clerk/nuxt Patch
@clerk/react-router Patch
@clerk/tanstack-react-start Patch
@clerk/testing Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@vercel

vercel Bot commented Aug 10, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
clerk-js-sandbox Ready Ready Preview Aug 10, 2026 11:09am
swingset Ready Ready Preview Aug 10, 2026 11:09am

Request Review

@SarahSoutoul SarahSoutoul changed the title docs(backend): fix lockUser dashboard link docs(backend): fix lockUser Dashboard link Aug 10, 2026
@pkg-pr-new

pkg-pr-new Bot commented Aug 10, 2026

Copy link
Copy Markdown

Open in StackBlitz

@clerk/astro

npm i https://pkg.pr.new/@clerk/astro@9372

@clerk/backend

npm i https://pkg.pr.new/@clerk/backend@9372

@clerk/chrome-extension

npm i https://pkg.pr.new/@clerk/chrome-extension@9372

@clerk/clerk-js

npm i https://pkg.pr.new/@clerk/clerk-js@9372

@clerk/electron

npm i https://pkg.pr.new/@clerk/electron@9372

@clerk/electron-passkeys

npm i https://pkg.pr.new/@clerk/electron-passkeys@9372

@clerk/eslint-plugin

npm i https://pkg.pr.new/@clerk/eslint-plugin@9372

@clerk/expo

npm i https://pkg.pr.new/@clerk/expo@9372

@clerk/expo-google-signin

npm i https://pkg.pr.new/@clerk/expo-google-signin@9372

@clerk/expo-passkeys

npm i https://pkg.pr.new/@clerk/expo-passkeys@9372

@clerk/express

npm i https://pkg.pr.new/@clerk/express@9372

@clerk/fastify

npm i https://pkg.pr.new/@clerk/fastify@9372

@clerk/hono

npm i https://pkg.pr.new/@clerk/hono@9372

@clerk/localizations

npm i https://pkg.pr.new/@clerk/localizations@9372

@clerk/nextjs

npm i https://pkg.pr.new/@clerk/nextjs@9372

@clerk/nuxt

npm i https://pkg.pr.new/@clerk/nuxt@9372

@clerk/react

npm i https://pkg.pr.new/@clerk/react@9372

@clerk/react-router

npm i https://pkg.pr.new/@clerk/react-router@9372

@clerk/shared

npm i https://pkg.pr.new/@clerk/shared@9372

@clerk/tanstack-react-start

npm i https://pkg.pr.new/@clerk/tanstack-react-start@9372

@clerk/testing

npm i https://pkg.pr.new/@clerk/testing@9372

@clerk/ui

npm i https://pkg.pr.new/@clerk/ui@9372

@clerk/upgrade

npm i https://pkg.pr.new/@clerk/upgrade@9372

@clerk/vue

npm i https://pkg.pr.new/@clerk/vue@9372

commit: d2625f8

@SarahSoutoul SarahSoutoul self-assigned this Aug 10, 2026
@SarahSoutoul
SarahSoutoul requested a review from manovotny August 10, 2026 10:04
@SarahSoutoul
SarahSoutoul marked this pull request as ready for review August 10, 2026 10:04
@coderabbitai

coderabbitai Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

The lockUser documentation now references the application Rules settings, with a patch changeset for @clerk/backend. The TypeDoc extractor omits @example blocks from method prose. Snapshot coverage now documents and validates the privileged removePassword method.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

  • clerk/javascript#9326: Introduces the removePassword method documented and covered by this pull request.

Suggested reviewers: manovotny, alexisintech

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
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.
Title check ✅ Passed The title clearly summarizes the outdated Dashboard link fixes and the Typedoc method reference layout change.
Description check ✅ Passed The description directly explains both documentation link updates and the scoped Typedoc example filtering change.

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

@github-actions

github-actions Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

API Changes Report

Generated by Break Check on 2026-08-10T11:09:44.735Z

Summary

Metric Count
Packages analyzed 19
Packages with changes 0
🔴 Breaking changes 0
🟡 Non-breaking changes 0
🟢 Additions 0

No API Changes Detected

All packages have stable APIs with no detected changes.


Report generated by Break Check

Last ran on d2625f8.

@SarahSoutoul SarahSoutoul changed the title docs(backend): fix lockUser Dashboard link docs(backend): fix Dashboard links and method reference layout Aug 10, 2026

@coderabbitai coderabbitai Bot 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.

Actionable comments posted: 1

🤖 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 @.typedoc/__tests__/__snapshots__/user-api-methods-remove-password.mdx:
- Line 8: Update the TypeDoc signature rendering for removePassword so its
defaulted params argument is rendered as optional, then regenerate the
user-api-methods-remove-password snapshot to reflect the corrected signature.
🪄 Autofix

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: Repository YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Pro Plus

Run ID: 6ac35b91-0f95-40df-973b-d4e7dadefda8

📥 Commits

Reviewing files that changed from the base of the PR and between 8a16885 and ce11ed6.

📒 Files selected for processing (3)
  • .typedoc/__tests__/__snapshots__/user-api-methods-remove-password.mdx
  • .typedoc/__tests__/extract-methods.test.ts
  • .typedoc/extract-methods.mjs
🔗 Linked repositories identified

CodeRabbit considers these linked repositories for cross-repo context during reviews:

  • clerk/clerk_go (manual)
  • clerk/dashboard (manual)
  • clerk/accounts (manual)
  • clerk/backoffice (manual)
  • clerk/clerk (manual)
  • clerk/clerk-docs (manual)
  • clerk/cloudflare-workers (manual)
  • clerk/cli (auto-detected)
  • clerk/clerk-ios (auto-detected)
  • clerk/clerk-android (auto-detected)

Returns the updated [`User`](/docs/reference/backend/types/backend-user).

```typescript
function removePassword(userId: string, params: { signOutOfOtherSessions?: boolean }): Promise<User>

@coderabbitai coderabbitai Bot Aug 10, 2026

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.

🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

source_file='packages/backend/src/api/endpoints/UserApi.ts'
snapshot_file='.typedoc/__tests__/__snapshots__/user-api-methods-remove-password.mdx'

rg -n -A3 -B2 'removePassword' "$source_file"
rg -n 'function removePassword' "$snapshot_file"

if rg -q 'function removePassword\(userId: string, params: ' "$snapshot_file" &&
   ! rg -q 'function removePassword\(userId: string, params\?: ' "$snapshot_file"; then
  echo 'Generated signature marks params as required.'
  exit 1
fi

Repository: clerk/javascript

Length of output: 797


🏁 Script executed:

set -euo pipefail

printf '%s\n' '--- TypeDoc configuration and custom rendering references ---'
rg -n -S -i 'typedoc|signature.*render|default.*param|optional.*param|RemovePasswordParams' \
  .typedoc packages package.json pnpm-workspace.yaml 2>/dev/null | head -n 240

printf '%s\n' '--- Relevant snapshot and source context ---'
sed -n '1,24p' .typedoc/__tests__/__snapshots__/user-api-methods-remove-password.mdx
sed -n '700,742p' packages/backend/src/api/endpoints/UserApi.ts

printf '%s\n' '--- Tests and scripts that generate or validate TypeDoc snapshots ---'
rg -n -S 'typedoc|user-api-methods-remove-password|__snapshots__' \
  .github package.json .typedoc packages 2>/dev/null | head -n 240

Repository: clerk/javascript

Length of output: 50374


🏁 Script executed:

set -euo pipefail

printf '%s\n' '--- Signature rendering implementation ---'
sed -n '1220,1435p' .typedoc/custom-theme.mjs

printf '%s\n' '--- Optional-parameter helper implementation ---'
sed -n '420,455p' .typedoc/custom-theme.mjs
sed -n '560,605p' .typedoc/custom-theme.mjs

printf '%s\n' '--- TypeDoc configuration ---'
sed -n '1,220p' typedoc.config.mjs

Repository: clerk/javascript

Length of output: 15853


🏁 Script executed:

set -euo pipefail

printf '%s\n' '--- Signature-parameter hooks and custom partials ---'
rg -n -C 12 'signatureParameters|signatureParameter|isOptional|defaultValue' .typedoc/custom-theme.mjs | head -n 260

printf '%s\n' '--- TypeDoc model fixtures or generated metadata for removePassword ---'
rg -n -S -C 8 'removePassword|RemovePasswordParams' .typedoc packages/backend/src/api/__tests__ packages/backend/src/api/endpoints | head -n 220

printf '%s\n' '--- Comparable default-parameter signatures in snapshots ---'
rg -n -S 'function .*\([^)]*=|function .*\([^)]*\?:' .typedoc/__tests__/__snapshots__ | head -n 160

Repository: clerk/javascript

Length of output: 23999


🏁 Script executed:

set -euo pipefail

python3 - <<'PY'
from pathlib import Path
import re

source = Path("packages/backend/src/api/endpoints/UserApi.ts").read_text()
snapshot = Path(".typedoc/__tests__/__snapshots__/user-api-methods-remove-password.mdx").read_text()
comparables = {
    p.name: p.read_text()
    for p in Path(".typedoc/__tests__/__snapshots__").glob("*.mdx")
}

method = re.search(
    r"public async removePassword\(\s*userId:\s*string,\s*params:\s*RemovePasswordParams\s*=\s*\{\}\s*\)",
    source,
)
rendered = re.search(
    r"function removePassword\(userId: string, params(\?)?: \{ signOutOfOtherSessions\?: boolean \}\)",
    snapshot,
)

assert method, "removePassword source declaration was not found"
assert rendered, "removePassword snapshot signature was not found"

print("source_default_parameter:", True)
print("snapshot_params_optional:", rendered.group(1) == "?")
print("snapshot_signature:", rendered.group(0))

for name, text in comparables.items():
    if re.search(r"function (?:signOut|sendCode)\([^)]*\?:", text):
        print("comparable_optional_signature:", name)
PY

Repository: clerk/javascript

Length of output: 469


Render params as optional.

removePassword provides a default value for params, but the generated signature marks it as required. Update the TypeDoc signature rendering and regenerate the snapshot.

🤖 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 @.typedoc/__tests__/__snapshots__/user-api-methods-remove-password.mdx at
line 8, Update the TypeDoc signature rendering for removePassword so its
defaulted params argument is rendered as optional, then regenerate the
user-api-methods-remove-password snapshot to reflect the corrected signature.

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.

Skipping this one. It's semantically right — params has a = {} default, so TS declaration output would render it as params? — but the missing ? comes from formatTypeScriptSignature(), which this PR doesn't touch. The snapshot has to mirror generated output, so patching just the snapshot would make the test lie. A real fix means teaching the formatter to detect default-initialized params and regenerating every affected snapshot, which is out of scope here.

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.

@manovotny, agreed. The snapshot must reflect the current formatter output. A snapshot-only change would be incorrect.

This finding is out of scope for this PR. A separate fix should update formatTypeScriptSignature() and regenerate all affected snapshots.

Would you like me to open a follow-up issue for that work?


✏️ Learnings added
Learnt from: manovotny
Repo: clerk/javascript PR: 9372
File: .typedoc/__tests__/__snapshots__/user-api-methods-remove-password.mdx:8-8
Timestamp: 2026-08-10T18:13:38.851Z
Learning: In the `.typedoc` documentation generator, `.typedoc/formatTypeScriptSignature()` controls parameter optionality in generated TypeScript signatures. Snapshots must mirror formatter output. Correctly rendering default-initialized parameters such as `params: RemovePasswordParams = {}` as optional requires a formatter change and regeneration of all affected snapshots.

Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.

You are interacting with an AI system.

@SarahSoutoul
SarahSoutoul merged commit 167204b into main Aug 10, 2026
54 checks passed
@SarahSoutoul
SarahSoutoul deleted the ss/fix-lock-user-doc-link branch August 10, 2026 23:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants