Skip to content

Conversation

@brunobergher
Copy link
Collaborator

@brunobergher brunobergher commented Nov 4, 2025

To make it easier for us to iterate on the copy of landing pages for different agents, this PR generalizes the structure of the page and moves copy to content-only files which can be easily edited and referenced as variants (A, B, C, etc), falling back to A (which is always required) when an invalid value is passed (or its absent).

To try it out, go to /reviewer?v=A and /reviewer?v=B in the preview environment.
To understand how it's used, look into apps/web-roo-code/src/app/reviewer/page.tsx

This also tweaks the copy of Danny's proposed alternative for the Reviewer page, but mostly leaves it alone.


Important

Introduces A/B testing for agent landing pages with dynamic content selection and refactors content structure for consistency.

  • A/B Testing Framework:
    • Introduces getContentVariant() in getContentVariant.ts to select content variants based on URL parameters.
    • Supports fallback to variant 'A' if no valid variant is specified.
  • Content Structure:
    • Defines AgentPageContent interface in agent-page-content.ts for consistent content structure across agent pages.
    • Adds content-a.tsx, content-b.tsx, and content.ts for PR Fixer and PR Reviewer with different content variants.
  • Page Components:
    • Updates page.tsx for pr-fixer and reviewer to use AgentLandingContent and dynamic content selection.
    • Removes ReviewerContent.tsx and PrFixerContent.tsx, consolidating into AgentLandingContent.tsx.
  • UI Enhancements:
    • Refactors AgentLandingContent.tsx to dynamically render content based on AgentPageContent.
    • Updates agent-carousel.tsx to include links to PR Reviewer and PR Fixer pages.

This description was created by Ellipsis for a5c3571. You can customize this summary. It will automatically update as commits are pushed.

roomote and others added 4 commits November 3, 2025 14:31
- Created /pr-reviewer route with new page component
- Implemented PRReviewerContent with edgier, more direct messaging
- Focus on AI-generated code risks and security concerns
- Uses same structure as /reviewer but with completely different copy
- Emphasizes paranoid senior developer angle
- Highlights specific issues: JWT bugs, regex backtracking, billing errors
@dosubot dosubot bot added the size:XXL This PR changes 1000+ lines, ignoring generated files. label Nov 4, 2025
@roomote
Copy link

roomote bot commented Nov 4, 2025

See this task on Roo Code Cloud

Re-review complete. All previously flagged issues have been resolved.

  • Fix unsafe non-null assertion on optional image properties in AgentLandingContent.tsx
Previous Reviews

Mention @roomote in a comment to trigger your PR Fixer agent and make changes to this pull request.

@dosubot dosubot bot added the enhancement New feature or request label Nov 4, 2025
@github-actions
Copy link

github-actions bot commented Nov 4, 2025

🚀 Preview deployed!

Your changes have been deployed to Vercel:

Preview URL: https://roo-code-website-mn8k0w2n7-roo-code.vercel.app

This preview will be updated automatically when you push new commits to this PR.

}}>
<div className="block">
<Image
src={content.hero.image.src || content.hero.image.url!}
Copy link

Choose a reason for hiding this comment

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

The non-null assertion on content.hero.image.url! is unsafe because both src and url are optional in the AgentPageContent interface. If a content variant is created with an image object that lacks both properties, this will pass undefined to the Next.js Image component and cause a runtime error. Consider either making at least one property required in the type definition or adding runtime validation.

Fix it with Roo Code or mention @roomote and request a fix.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

@roomote fix this by making the hero image url required, and consolidating all uses to use that property (not src)

Copy link

@roomote roomote bot Nov 4, 2025

Choose a reason for hiding this comment

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

See this task on Roo Code Cloud

Fixed the unsafe non-null assertion by making hero.image.url required and consolidating all uses. All local checks passed.

View commit | Revert commit

@hannesrudolph hannesrudolph added the Issue/PR - Triage New issue. Needs quick review to confirm validity and assign labels. label Nov 4, 2025
@daniel-lxs daniel-lxs moved this from Triage to PR [Needs Review] in Roo Code Roadmap Nov 5, 2025
@dosubot dosubot bot added the lgtm This PR has been approved by a maintainer label Nov 5, 2025
@hannesrudolph hannesrudolph added PR - Needs Review and removed Issue/PR - Triage New issue. Needs quick review to confirm validity and assign labels. labels Nov 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request lgtm This PR has been approved by a maintainer PR - Needs Review size:XXL This PR changes 1000+ lines, ignoring generated files.

Projects

Status: PR [Needs Review]

Development

Successfully merging this pull request may close these issues.

5 participants