Skip to content

Fixed Broken Links and Advance Options for Web SDK#60

Merged
Kushal7788 merged 1 commit intomainfrom
web-sdk-docs-fix
Jun 6, 2025
Merged

Fixed Broken Links and Advance Options for Web SDK#60
Kushal7788 merged 1 commit intomainfrom
web-sdk-docs-fix

Conversation

@Kushal7788
Copy link
Contributor

@Kushal7788 Kushal7788 commented Jun 6, 2025

Description

Fixed Broken Links and Advance Options for Web SDK

Type of change

  • Bug fix
  • New feature
  • Breaking change
  • Documentation update

Checklist:

Summary by CodeRabbit

  • Documentation
    • Major overhaul of the "Web SDK" guide, with expanded and reorganized instructions for initializing, configuring, and verifying proofs across JavaScript, Flutter, Python, and Rust platforms.
    • Added detailed documentation for new SDK methods, including session export/import, browser extension checks, modal customization, and proof verification.
    • Updated and clarified frontend and backend integration guides, including improved navigation links and more explicit implementation options.
    • Removed or updated references to deprecated "Advanced Usage" and "Advance Options" sections across platform-specific guides.
    • Added a metadata file to organize the "Advanced Options" documentation section.

@Kushal7788 Kushal7788 requested a review from ChinmayMhatre June 6, 2025 10:34
@vercel
Copy link
Contributor

vercel bot commented Jun 6, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
docs ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jun 6, 2025 10:34am

@coderabbitai
Copy link

coderabbitai bot commented Jun 6, 2025

Walkthrough

This update restructures and expands the documentation for the Reclaim Protocol SDK, particularly focusing on the Web SDK. It introduces new and updated method documentation, reorganizes advanced usage sections, updates navigation links, and clarifies integration steps across multiple platforms. Several "Advanced Usage" sections were removed or replaced with targeted references to the new "Web SDK" guide.

Changes

Files/Paths Change Summary
content/docs/advance-options/meta.json Added metadata file specifying the order and structure of advanced options documentation.
content/docs/advance-options/web-sdk.mdx Extensively revised and expanded: new/updated method docs, restructured flow, multi-platform examples.
content/docs/android-kotlin/usage.mdx
content/docs/ios-swift/usage.mdx
content/docs/ionic/usage.mdx
content/docs/react-native/usage.mdx
Removed "Advanced Usage" sections and links to the old "Advance Options guide."
content/docs/expo/installation.mdx
content/docs/expo/usage.mdx
Updated "Advance Options" links to point to the new "web-sdk" guide.
content/docs/web/backend/index.mdx
content/docs/web/backend/installation.mdx
content/docs/web/backend/usage.mdx
Updated titles, improved/corrected navigation links, broadened backend language references.
content/docs/web/frontend/fullstack.mdx Clarified and restructured frontend integration; renamed example component; removed modal customization.
content/docs/web/frontend/index.mdx Changed document title, updated guide links to new structure.
content/docs/web/frontend/quickstart.mdx Simplified and restructured to show two frontend integration methods; removed manual extension checks.
content/docs/web/index.mdx Updated workflow steps, clarified supported SDKs, adjusted references and descriptions.

Sequence Diagram(s)

sequenceDiagram
    participant Dev as Developer
    participant SDK as Reclaim Web SDK
    participant Backend as Backend Service
    participant User as End User

    Dev->>SDK: Initialize SDK with init(), set options, etc.
    Dev->>SDK: Optionally setAppCallbackUrl(), setRedirectUrl(), setParams(), etc.
    Dev->>SDK: Start verification (triggerReclaimFlow() or getRequestUrl())
    User->>SDK: Interacts via browser extension, QR code, or mobile app
    SDK->>Backend: Sends proof to callback URL (if set)
    Dev->>SDK: Export/import session config (toJsonString(), fromJsonString())
    Dev->>SDK: Verify proof (verifyProof())
    SDK->>Dev: Returns verification result
Loading

Possibly related PRs

  • Browser Extension Docs for JS SDK #56: Updates and documents new browser extension features and streamlined verification flow methods in the JavaScript SDK, which are directly addressed in this PR's Web SDK documentation overhaul.

Suggested labels

documentation, enhancement

Poem

In burrows deep, I found a guide,
With SDK secrets tucked inside.
From web to Rust, the docs align,
Advanced no more, the pathways shine.
Hop along, explore each link—
Proofs and flows, in sync, in sync!
🐇✨


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
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@Kushal7788 Kushal7788 merged commit dadefd4 into main Jun 6, 2025
2 of 3 checks passed
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Nitpick comments (16)
content/docs/advance-options/meta.json (1)

3-3: Consistent comma spacing
Add a space after the comma between "overrides" and "verification-options" for readability:

- "pages": ["attestor-auth", "verification", "overrides","verification-options", ...]
+ "pages": ["attestor-auth", "verification", "overrides", "verification-options", ...]
content/docs/web/index.mdx (3)

3-3: Use "web app" and "JavaScript" for clarity
Consider updating to:

description: Integrate Reclaim Protocol into your web app using our JavaScript and Python SDKs.

7-7: Add space in "Web SDKs"
Change ## Understanding the WebSDKs workflow to ## Understanding the Web SDKs workflow for consistency.


18-18: Spell "Node.js" correctly
Replace NodeJS/Python with Node.js/Python (or better, Node.js and Python) to match official naming.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~18-~18: The official spelling of this programming framework is “Node.js”.
Context: ...process the verification securely using NodeJS/Python

(NODE_JS)

content/docs/web/frontend/quickstart.mdx (2)

85-85: Add missing "the"
Change:

This method generates a verification request URL that user needs to visit to start the session.

to

This method generates a verification request URL that the user needs to visit to start the session.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~85-~85: You might be missing the article “the” here.
Context: ...nerates a verification request URL that user needs to visit to start the session. `...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


158-158: Consistent term "use case"
Replace usecases with use cases:

- For production usecases, ...
+ For production use cases, ...
content/docs/web/frontend/fullstack.mdx (5)

22-22: Improve clarity and punctuation
Rephrase to:

For a detailed backend implementation using Node.js and Python, please refer to the [Backend guide](../backend).

and remove the extra space before the comma.


30-30: Add colon after introductory sentence
For readability, consider:

There are two ways to implement the Reclaim Protocol on your frontend:

32-33: Use a numbered list for parallel structure
Convert the bullet items to a numbered list to match other guides:

-- Using ...
-- Using ...
+- 1. Using ...
+- 2. Using ...

113-113: Add missing "the"
Update to:

This method generates a verification request URL that the user needs to visit to start the session.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~113-~113: You might be missing the article “the” here.
Context: ...nerates a verification request URL that user needs to visit to start the session. `...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


183-183: Add terminal period
Append a period for consistency:

- ...advanced options](../../advance-options/web-sdk)
+ ...advanced options](../../advance-options/web-sdk).
content/docs/advance-options/web-sdk.mdx (5)

2-4: Refine frontmatter to match document scope
The description still refers to “advanced options”; consider updating it to explicitly mention the Web SDK for clarity (e.g. “This guide provides a detailed reference for the Reclaim Web SDK across multiple platforms”).


30-33: Grammar: rephrase and determiner usage

  • Change “Only should be set to true when…” to “Should only be set to true when…”
  • In the description for useBrowserExtension, replace “fallback” (noun) with the verb phrase “fall back.”
🧰 Tools
🪛 LanguageTool

[uncategorized] ~32-~32: You might be missing the article “an” here.
Context: ...owser extension for desktop users. When extension is not installed, the SDK will fallback...

(AI_EN_LECTOR_MISSING_DETERMINER_AN)


[grammar] ~32-~32: The word “fallback” is a noun. The verb is spelled with a space.
Context: ...xtension is not installed, the SDK will fallback to QR code flow. - extensionID (D...

(NOUN_VERB_CONFUSION)


117-118: Correct abbreviation in note
Change “Eg.” to lowercase “e.g.” with both periods (i.e., “e.g.”) for correct usage.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~117-~117: The abbreviation “e.g.” (= for example) requires two periods.
Context: ...parse the proof object in the response. Eg. `express.text({ type: '/', limit: '50...

(E_G)


330-373: Approve addContext examples and context description
The code samples and callout clearly explain how to attach custom context. Optional: add a note reminding users to validate hex address format before invoking.


471-473: Add missing article in description
Change “use setModalOptions method” to “use the setModalOptions method” for grammatical correctness.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~473-~473: You might be missing the article “the” here.
Context: ...bs> ### setModalOptions() You can use setModalOptions method to customize the...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 34e37f7 and 89fdebc.

📒 Files selected for processing (15)
  • content/docs/advance-options/meta.json (1 hunks)
  • content/docs/advance-options/web-sdk.mdx (9 hunks)
  • content/docs/android-kotlin/usage.mdx (0 hunks)
  • content/docs/expo/installation.mdx (1 hunks)
  • content/docs/expo/usage.mdx (1 hunks)
  • content/docs/ionic/usage.mdx (0 hunks)
  • content/docs/ios-swift/usage.mdx (0 hunks)
  • content/docs/react-native/usage.mdx (0 hunks)
  • content/docs/web/backend/index.mdx (3 hunks)
  • content/docs/web/backend/installation.mdx (3 hunks)
  • content/docs/web/backend/usage.mdx (2 hunks)
  • content/docs/web/frontend/fullstack.mdx (3 hunks)
  • content/docs/web/frontend/index.mdx (1 hunks)
  • content/docs/web/frontend/quickstart.mdx (4 hunks)
  • content/docs/web/index.mdx (1 hunks)
💤 Files with no reviewable changes (4)
  • content/docs/react-native/usage.mdx
  • content/docs/ios-swift/usage.mdx
  • content/docs/android-kotlin/usage.mdx
  • content/docs/ionic/usage.mdx
🧰 Additional context used
🪛 LanguageTool
content/docs/web/index.mdx

[uncategorized] ~10-~10: Possible missing article found.
Context: ...d and displayed to the user to tap/scan QR code. 2. The user starts the session an...

(AI_HYDRA_LEO_MISSING_A)


[uncategorized] ~18-~18: The official spelling of this programming framework is “Node.js”.
Context: ...process the verification securely using NodeJS/Python

(NODE_JS)

content/docs/web/frontend/quickstart.mdx

[uncategorized] ~85-~85: You might be missing the article “the” here.
Context: ...nerates a verification request URL that user needs to visit to start the session. `...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)

content/docs/web/frontend/fullstack.mdx

[uncategorized] ~113-~113: You might be missing the article “the” here.
Context: ...nerates a verification request URL that user needs to visit to start the session. `...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)

content/docs/advance-options/web-sdk.mdx

[uncategorized] ~32-~32: You might be missing the article “an” here.
Context: ...owser extension for desktop users. When extension is not installed, the SDK will fallback...

(AI_EN_LECTOR_MISSING_DETERMINER_AN)


[grammar] ~32-~32: The word “fallback” is a noun. The verb is spelled with a space.
Context: ...xtension is not installed, the SDK will fallback to QR code flow. - extensionID (D...

(NOUN_VERB_CONFUSION)


[uncategorized] ~117-~117: The abbreviation “e.g.” (= for example) requires two periods.
Context: ...parse the proof object in the response. Eg. `express.text({ type: '/', limit: '50...

(E_G)


[uncategorized] ~377-~377: Loose punctuation mark.
Context: ... ``` - contextId: Unique hex address identifier (string) ...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~473-~473: You might be missing the article “the” here.
Context: ...bs> ### setModalOptions() You can use setModalOptions method to customize the...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~474-~474: You might be missing the article “the” here.
Context: ...ed). This is applicable only when using triggerReclaimFlow method. <Tabs items...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)

🔇 Additional comments (27)
content/docs/web/backend/installation.mdx (3)

3-3: Generalize introduction for all backend environments
This update removes Node.js–specific text and welcomes users of any backend platform. It aligns with multi-language support.


49-49: Install latest Python SDK by default
Switching from a fixed version to the latest release ensures users get up-to-date features.


70-72: Add "Integrate into your project" section
Good addition linking to the usage guide; verify that content/docs/web/backend/usage.mdx exists at ./usage.

content/docs/expo/installation.mdx (1)

111-111: Update "Advance Options" link to Web SDK guide
Aligns with the restructured advanced options; please verify that content/docs/advance-options/web-sdk.mdx exists at ../advance-options/web-sdk.

content/docs/expo/usage.mdx (1)

147-147: Point "Advance Usage" to Web SDK guide
Ensures consistent navigation to the new advanced options guide; verify the target path exists.

content/docs/web/frontend/index.mdx (3)

2-2: Rename document title to reflect Frontend Integration
Clarifies the guide’s scope and matches directory structure.


10-10: Fix "Quickstart" link to include frontend subfolder
Aligns links with the new directory layout; please verify that content/docs/web/frontend/frontend/quickstart.mdx (or the intended path) exists.


16-16: Fix "Fullstack" link to include frontend subfolder
Ensures navigation points to the correct fullstack guide; verify that content/docs/web/frontend/frontend/fullstack.mdx exists.

content/docs/web/backend/index.mdx (3)

2-2: Rename document title to "Backend Integration"
Improves clarity by focusing on integration rather than SDK listings.


17-17: Update link to frontend fullstack guide
Redirects to the reorganized frontend guide; verify that content/docs/web/frontend/fullstack.mdx exists at ../web/frontend/fullstack.


27-27: Update backend example link to usage guide
Points users directly to the new usage walkthrough; verify that content/docs/web/backend/backend/usage.mdx exists at ./backend/usage.

content/docs/advance-options/meta.json (1)

1-4: Approve new metadata file
This meta.json correctly defines the Advanced Options section and its page order.

content/docs/web/backend/usage.mdx (1)

185-185: Verify updated Proof Structure link
Ensure the relative path ../../advance-options/web-sdk#understanding-the-proof-structure resolves correctly and that the anchor exists in the Web SDK guide.

content/docs/web/frontend/fullstack.mdx (2)

48-48: Approve component rename
Renaming ReclaimDemo to StartReclaimVerification clearly reflects its purpose.


108-108: Approve updated default export
Exporting the renamed component aligns with the new function name.

content/docs/advance-options/web-sdk.mdx (12)

14-46: Enhance init() examples for all platforms
The PR summary states this guide is the central reference across JavaScript, Flutter, Python, and Rust, yet the init() section only shows JS and Python. Please verify if Flutter and Rust initialization snippets should be added here.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~32-~32: You might be missing the article “an” here.
Context: ...owser extension for desktop users. When extension is not installed, the SDK will fallback...

(AI_EN_LECTOR_MISSING_DETERMINER_AN)


[grammar] ~32-~32: The word “fallback” is a noun. The verb is spelled with a space.
Context: ...xtension is not installed, the SDK will fallback to QR code flow. - extensionID (D...

(NOUN_VERB_CONFUSION)


51-66: Verify optional parameters in JS API docs
The JavaScript example shows only setAppCallbackUrl(url), but the parameter list mentions a jsonProofResponse flag. Please confirm whether the second argument is supported and, if so, include its usage in the code snippet.


101-115: Confirm Python method signature
The Python example uses set_app_callback_url(url) but doesn’t show any JSON flag. Verify if the Python SDK supports a second json_proof_response parameter (as in JS) and update the snippet accordingly.


119-187: Consolidate setRedirectUrl examples
The JavaScript, Flutter, and Python snippets all look consistent and clear. If other platforms (e.g., React Native) apply, consider adding them here or link out.


194-243: Approve export/import configuration snippets
The JS, Dart, and Python examples for toJsonString/fromJsonString are clear and demonstrate cross-platform session sharing effectively.


248-326: Approve verifyProof multi-language examples
The JavaScript, Dart, Python, and Rust snippets accurately illustrate the proof verification flow and include necessary install/config steps for Rust.


382-436: Approve setParams multi-language examples
The parameter-setting examples are accurate and well-formatted across JavaScript, Dart, and Python.


445-467: Approve isBrowserExtensionAvailable snippet
The single-language JS example correctly demonstrates detection logic and fallback behavior.


478-495: Approve setModalOptions JavaScript example
The snippet shows all available modal customization options before calling triggerReclaimFlow().


499-504: Approve modal options bullet list
The list clearly defines each setModalOptions property, defaults, and expected types.


510-653: Approve session detail retrieval methods
The examples for getRequestUrl(), getSessionId(), getStatusUrl(), and getAppCallbackUrl() are thorough, consistent, and correctly use language-specific naming conventions.


660-672: Approve proof JSON structure example
The generic proof schema is well-structured, annotated, and helpful as a reference.

Comment on lines 7 to 9
## Advanced Options
Reclaim SDKs provide a lot of flexibility to customize the verification process.

Copy link

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Align section heading with guide title
The section heading ## Advanced Options no longer matches the document title “Web SDK.” Please rename it to something like ## Web SDK Overview to maintain consistency.

🤖 Prompt for AI Agents
In content/docs/advance-options/web-sdk.mdx around lines 7 to 9, the section
heading "## Advanced Options" does not match the document title "Web SDK."
Rename the heading to "## Web SDK Overview" to ensure consistency with the guide
title.

Comment on lines +88 to +98
```dart
final reclaimProofRequest = await ReclaimProofRequest.init(
'YOUR_RECLAIM_APP_ID',
'YOUR_RECLAIM_APP_SECRET',
'YOUR_PROVIDER_ID'
);

// Make sure to set this before starting the verification session.
reclaimProofRequest.setAppCallbackUrl('https://your-api.com/receive-proofs') // your custom callback url here

```
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue

Dart snippet: add missing semicolon
In the Dart example, the call to setAppCallbackUrl(...) is missing a trailing semicolon. Add ; at the end of that statement to avoid syntax errors.

🤖 Prompt for AI Agents
In content/docs/advance-options/web-sdk.mdx around lines 88 to 98, the Dart code
snippet is missing a semicolon at the end of the
reclaimProofRequest.setAppCallbackUrl(...) statement. Add a semicolon at the end
of this line to fix the syntax error.

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.

3 participants