Skip to content

Conversation

@nearestnabors
Copy link
Contributor

@nearestnabors nearestnabors commented Dec 31, 2025

This update to the docs site will allow us to collect feedback and analyze learning bottlenecks. It's been set up to work on the preview https://docs-git-feedback-arcade-ai.vercel.app/ for testing. When merged, we can switch it on for the docs site.

Configuration Changes:

  • Modified /app/_components/posthog.tsx to enable surveys (disable_surveys: false)
  • Enabled heatmaps for click tracking analytics (enable_heatmaps: true)

Event tracking:

  • get_started_clicked - User engagement with getting started
  • sample_app_clicked - Interest in examples
  • code_copied - Technical documentation usage
  • tool_card_clicked - Tool exploration

Session recording enabled so we can see where any problems occur.
Screenshot 2025-12-31 at 2 55 04 PM
Screenshot 2025-12-31 at 2 55 10 PM
Screenshot 2025-12-31 at 2 55 19 PM


Note

Enables robust analytics and UX telemetry across the docs.

  • Configure PostHog to enable session recording, heatmaps, surveys, and pageview tracking; gate debug via NEXT_PUBLIC_POSTHOG_DEBUG
  • Add event capture to UI: integration_card_clicked, quickstart_card_clicked, sample_app_clicked, scope_calculator_used, code_example_expanded, code_copied, tool_card_clicked, contact_sales_modal_opened, hero buttons (get_started_clicked, build_tool_clicked)
  • Wire events in components: integration-card, quick-start-card, sample-app-card, scope-picker, tabbed-code-block (expand/copy), tool-card, contact-cards, home/landing-page

Also updates docs content/links (frameworks link, Cursor/Claude Desktop paths, formatting, minor copy edits) and fixes small code samples in auth provider pages.

Written by Cursor Bugbot for commit c9d693e. This will update automatically on new commits. Configure here.

nearestnabors and others added 4 commits December 31, 2025 13:09
- Enabled surveys for CSAT feedback collection
- Enabled heatmaps for click and scroll tracking
- Added detailed setup documentation for both features
- Server tested and running successfully

Features now active:
✅ Surveys - For CSAT feedback on every page
✅ Heatmaps - For visualizing user interactions
✅ Page tracking - Automatic pageview events
✅ Custom events - Existing event tracking

Next steps:
1. Log into PostHog dashboard (https://us.posthog.com)
2. Create CSAT survey following the guide
3. Review heatmaps to understand user behavior
4. Correlate CSAT scores with interaction patterns

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
- Enable surveys (disable_surveys: false) for CSAT feedback collection
- Enable heatmaps (enable_heatmaps: true) for click tracking
- Remove debug logging in production

The CSAT survey now appears on all documentation pages with a feedback button on the right side.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
Removed temporary setup documentation now that CSAT survey is working

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
- Enable session recording to understand user behavior on docs
- Mask all input fields for privacy protection
- Keep text content readable for better UX insights
- Add 'ph-no-capture' class support for opting out specific elements
- Block third-party iframe recording for security

Session recordings will help identify:
- Navigation patterns and user journeys
- Points where users get stuck or confused
- How users interact with code examples and documentation
- Common workflows and usage patterns

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
@vercel
Copy link

vercel bot commented Dec 31, 2025

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

Project Deployment Review Updated (UTC)
docs Ready Ready Preview, Comment Jan 6, 2026 5:45pm

@nearestnabors nearestnabors enabled auto-merge (squash) December 31, 2025 14:56
Copy link
Contributor

@evantahler evantahler left a comment

Choose a reason for hiding this comment

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

Looks like this isn't deploying to the preview site due to a type error. Ping me again when it's up and I'll take a look!

// Enable session recording for user behavior analysis
disable_session_recording: false,
session_recording: {
maskAllInputs: true, // Privacy: mask sensitive input fields
Copy link
Contributor

Choose a reason for hiding this comment

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

maskAllInputs and maskTextContent seem to be in conflict - which one wins?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

So the envoy completely hallucinated maskTextContent and Claude Code was just going with it. I had a word with them.

@evantahler
Copy link
Contributor

Screenshot 2025-12-31 at 10 53 31 AM Every page currently has this link as well to open a Github Issue - I imagine this PR should remove this link?

@nearestnabors
Copy link
Contributor Author

Every page currently has this link as well to open a Github Issue - I imagine this PR should remove this link?

Originally I thought it was a mistake that it was showing. Do we want to keep it or...?

nearestnabors and others added 3 commits January 5, 2026 15:42
* adds cheat sheet with print styles

* 🤖 Regenerate LLMs.txt

---------

Co-authored-by: Rachel Lee Nabors <[email protected]>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* tentatively scaffolds new folder structure—very breaking, much sad

* Organize guides and resources.

* Update all internal documentation links to new IA structure

- Migrated 176 files with 2,657 link updates total
- Updated links from /home/ paths to new structure:
  - /get-started/ for onboarding content
  - /guides/ for how-to guides
  - /references/ for reference documentation
  - /resources/ for supplementary content
- Based on URL mappings from docs-migration.csv

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>

* Add server-side redirects for old URLs to new IA structure

- Added 61 permanent (308) redirects in next.config.ts
- Maps old /home/ paths to new information architecture
- Uses Next.js redirects() for server-side handling
- SEO-friendly: search engines will update their indexes

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>

* Fix remaining /home/ links throughout documentation

- Updated 119 files with remaining /home/ references
- Fixed links with anchors and query parameters
- Ensured all internal links point to new IA structure
- Comprehensive mapping of all /home/ paths to new locations

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>

* 🤖 Regenerate LLMs.txt

* fixing missing closing brackets

* fix broken has links

* fix duplicate links

* update broken links

* more broken link and md fixes

* fix moar links

* update broken links

* correct infinite redirects

* fixing some messed up redirects and blank links

* 🤖 Regenerate LLMs.txt

* fix auth providers url generation

* Fix 75 broken links and resolve routing issues

Fixed multiple categories of broken links across the documentation:

Routing & Redirects:
- Removed infinite redirect loops (e.g., /en/references redirecting to itself)
- Added proper redirects for MCP paths (/en/references/mcp, /en/references/mcp/python)
- Added redirects for paths missing locale prefixes (/mcp-servers/* → /en/resources/integrations/*)
- Fixed paths to moved pages (e.g., api-key → api-keys, openai → openai-agents)

Link Corrections:
- Fixed malformed anchor links missing '#' separator (e.g., googleusing-google-auth → google#using-google-auth)
- Updated paths to point to correct locations (e.g., /guides/create-tools/contribute/registry-early-access)
- Fixed references in glossary to use correct anchor format

Test Updates:
- Enhanced broken-link-check.test.ts with comprehensive redirect whitelist
- Added handling for both /mcp-servers/* and /en/mcp-servers/* patterns
- Updated test to validate redirects match actual file structure

All 75 broken links now resolved. Both broken-link-check and internal-link-check tests pass.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>

* fix: make documentation routing language-agnostic

Made the documentation system properly multilingual by removing hardcoded English locale prefixes from all internal links and redirect configurations. Nextra automatically handles locale routing, so explicit /en/ prefixes were causing issues and breaking multilingual support.

- Removed /en/ prefixes from all redirect destinations
- Fixed infinite redirect loops where paths were redirecting to themselves
- Cleaned up duplicate entries from merge conflicts
- All redirects now use language-agnostic paths that work with any locale
- Verified all redirects from docs-migration.csv are present and correct

- Updated all markdown files to remove hardcoded /en/ prefixes from internal links
- Fixed malformed anchor links that were missing '#' separators
- Corrected links pointing to wrong auth provider documentation

- Updated link validation to handle language-agnostic paths
- Added redirect mappings for all known redirects
- Tests now properly validate links without locale prefixes

- next.config.ts - Removed locale prefixes from all redirects
- app/en/references/changelog/page.mdx - Fixed malformed Google auth link
- app/en/resources/glossary/page.mdx - Fixed malformed Google auth links
- app/en/resources/tools/page.mdx - Removed /en/ from internal links
- app/en/resources/integrations/productivity/*.mdx - Fixed Google auth reference links
- tests/broken-link-check.test.ts - Updated to handle language-agnostic validation

✅ All tests passing (0 broken links)
✅ Verified redirects work correctly without locale prefixes
✅ Confirmed Nextra handles locale routing automatically
✅ Cross-referenced all redirects with docs-migration.csv

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>

* Update old redirect paths and remove knownRedirects from test file

Updated all internal links to use the correct destination paths instead of redirect paths:
- /get-started/setup/api-key → /get-started/setup/api-keys
- /references/auth-providers/ → /references/auth-providers (removed trailing slash)
- /guides/tool-calling/ → /guides/tool-calling (removed trailing slash)
- /references/mcp/python/ → /references/mcp/python
- /guides/tool-calling/custom-apps/authorized-tool-calling → /guides/tool-calling/custom-apps/auth-tool-calling
- /guides/user-facing-agents/brand-provider → /guides/user-facing-agents/secure-auth-production
- /guides/tool-calling/mcp-client/* → /guides/tool-calling/mcp-clients/*
- /guides/tool-calling/get-tool-definitions → /guides/tool-calling/custom-apps/get-tool-definitions
- /guides/deployment-hosting/engine-configuration → /guides/deployment-hosting/configure-engine
- /guides/create-tools/performance/run-evaluations → /guides/create-tools/evaluate-tools/run-evaluations
- /references/arcade-cliarcade-configure → /references/arcade-cli
- /resources/creating-tools/tool-basics/build-mcp-server → /guides/create-tools/tool-basics/build-mcp-server
- /resources/mastra/user-auth-interrupts → /guides/agent-frameworks/mastra/user-auth-interrupts

Removed the knownRedirects mapping from the test file since all links now point directly to the correct paths.

All tests pass successfully.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>

* update reroutes

* remove and don't track .bak

* fix malformed urls

* Merge branch 'origin/main' into new-ia-backup - resolved conflicts

* Rectifying merge conflicts

* 🤖 Regenerate LLMs.txt

---------

Co-authored-by: Rachel Lee Nabors <[email protected]>
Co-authored-by: Claude <[email protected]>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
- Enabled surveys for CSAT feedback collection
- Enabled heatmaps for click and scroll tracking
- Added detailed setup documentation for both features
- Server tested and running successfully

Features now active:
✅ Surveys - For CSAT feedback on every page
✅ Heatmaps - For visualizing user interactions
✅ Page tracking - Automatic pageview events
✅ Custom events - Existing event tracking

Next steps:
1. Log into PostHog dashboard (https://us.posthog.com)
2. Create CSAT survey following the guide
3. Review heatmaps to understand user behavior
4. Correlate CSAT scores with interaction patterns

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
- Updated the `trackScopeCalculatorUsed` function to accept a new parameter for the count of selected tools.
- Adjusted calls to `trackScopeCalculatorUsed` in `selectAll` and `clearAll` functions to reflect the new parameter.
- Improved analytics by accurately capturing the number of selected tools during user interactions.

This change enhances the tracking capabilities for better insights into user behavior.
- Refactored the hero click tracking code to follow DRY principles.
- Enhanced the tracking mechanism for better analytics insights.

This update streamlines the tracking process and improves code maintainability.
- Kept PostHog tracking event handlers in landing page
- Preserved corrected framework link in quickstart guide
Copy link
Contributor

@evantahler evantahler left a comment

Choose a reason for hiding this comment

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

I'm not seeing the new feedback button on the preview site?

@nearestnabors
Copy link
Contributor Author

@evantahler I don't know why this is.

The survey in Posthog works in localhost if you set "contains" to localhost but not if you use this url:

Screenshot 2026-01-06 at 1 51 34 AM

Could there be some other posthog configuration in conflict? Perhaps set only to work with arcade.dev and localhost at a global setting?

@evantahler
Copy link
Contributor

evantahler commented Jan 6, 2026

I don't think user targeting was the problem, and I suggest you go back to allowing it to appear for all users. Some thoughts:

  1. I think we need to upgrade our version of posthog js (we are on https://github.com/ArcadeAI/docs/blob/main/package.json#L47 v1.2, and the surveys say they need v1.8+)
Screenshot 2026-01-06 at 7 57 58 AM 2. Have you "globally" enabled surveys? I think yes. Are there posthog js initialization settings that override this? https://github.com/ArcadeAI/docs/blob/main/app/_components/posthog.tsx ?

@nearestnabors
Copy link
Contributor Author

  1. Still doesn't explain why it works on my localhost just fine. (Have tested it)
  2. I'm ok with enabling it everywhere.

@nearestnabors
Copy link
Contributor Author

This says we need the snippet OR 1.81.1, and I believe we're using the snippet...
image

@nearestnabors nearestnabors requested a review from vfanelle January 6, 2026 17:11
Triggers redeploy to pick up the newly added environment variable.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
Copy link
Contributor

@evantahler evantahler left a comment

Choose a reason for hiding this comment

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

Tested on Staging!

@nearestnabors nearestnabors merged commit 753f651 into main Jan 6, 2026
6 checks passed
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