feat(onboarding): report CTA → first-task step, not blank /tasks (chat#1881 item 2b) - #1884
Conversation
…sks (chat#1881 item 2b) The "Set up your weekly report" CTA on the post-valuation catalog report routed to a blank /tasks page. Point it at /onboarding/first-task — the existing one-click first-task flow that pre-runs the first weekly report, shows the finished output, then confirms the Monday schedule — so funnel users get the same first-report moment as the direct signup. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Warning Review limit reached
Next review available in: 50 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 58081488d5
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| </p> | ||
| <Link | ||
| href="/tasks" | ||
| href="/onboarding/first-task" |
There was a problem hiding this comment.
Preserve the report context in the first-task CTA
When a user has more than one artist/catalog, this generic link can pre-run and schedule a report for the wrong artist/catalog: the /catalogs/[catalogId] report is rendered for the route's catalogId, but /onboarding/first-task ignores that route context and derives the report from the global selectedArtist plus catalogs[0] in FirstTaskStep, and confirmation builds the task from selectedArtist again in useConfirmFirstTask. If the current header selection differs from the catalog being viewed, the CTA labeled as re-measuring “this” valuation takes the user to a flow that schedules a different weekly report; pass the catalog/artist context through the link or sync the destination to the viewed catalog.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
1 issue found across 1 file
Confidence score: 4/5
- In
components/Catalog/report/CatalogReportCta.tsx, the hardcoded/onboarding/first-tasklink drops the current/catalogs/[catalogId](and artist) context, so users can be sent to a generic onboarding path instead of a catalog-specific flow. This is likely a UX/navigation regression rather than a hard break—pass the active catalog/artist params in the CTA URL before merging.
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="components/Catalog/report/CatalogReportCta.tsx">
<violation number="1" location="components/Catalog/report/CatalogReportCta.tsx:23">
P2: This hardcoded link doesn't carry the current catalog/artist context to the destination. `CatalogReportCta` is rendered inside a catalog-specific report (under `/catalogs/[catalogId]`), but `/onboarding/first-task` reportedly derives its report from global `selectedArtist` / `catalogs[0]` state. For users with multiple catalogs, if the header selection differs from the catalog being viewed, the CTA labeled "Set up your weekly report" for *this* valuation could schedule a report for a different catalog. Consider passing the catalog or artist ID as a query parameter (e.g., `/onboarding/first-task?catalogId=${catalogId}`) and having `FirstTaskStep` respect it.</violation>
</file>
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
| </p> | ||
| <Link | ||
| href="/tasks" | ||
| href="/onboarding/first-task" |
There was a problem hiding this comment.
P2: This hardcoded link doesn't carry the current catalog/artist context to the destination. CatalogReportCta is rendered inside a catalog-specific report (under /catalogs/[catalogId]), but /onboarding/first-task reportedly derives its report from global selectedArtist / catalogs[0] state. For users with multiple catalogs, if the header selection differs from the catalog being viewed, the CTA labeled "Set up your weekly report" for this valuation could schedule a report for a different catalog. Consider passing the catalog or artist ID as a query parameter (e.g., /onboarding/first-task?catalogId=${catalogId}) and having FirstTaskStep respect it.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At components/Catalog/report/CatalogReportCta.tsx, line 23:
<comment>This hardcoded link doesn't carry the current catalog/artist context to the destination. `CatalogReportCta` is rendered inside a catalog-specific report (under `/catalogs/[catalogId]`), but `/onboarding/first-task` reportedly derives its report from global `selectedArtist` / `catalogs[0]` state. For users with multiple catalogs, if the header selection differs from the catalog being viewed, the CTA labeled "Set up your weekly report" for *this* valuation could schedule a report for a different catalog. Consider passing the catalog or artist ID as a query parameter (e.g., `/onboarding/first-task?catalogId=${catalogId}`) and having `FirstTaskStep` respect it.</comment>
<file context>
@@ -19,7 +20,7 @@ const CatalogReportCta = () => {
</p>
<Link
- href="/tasks"
+ href="/onboarding/first-task"
className="mt-4 inline-flex items-center justify-center rounded-xl bg-primary px-5 py-2.5 font-heading text-sm font-semibold text-primary-foreground transition-colors duration-200 hover:opacity-90 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2"
>
</file context>
✅ Preview verification — CTA now routes to the first-task flowPreview: The code change
- href="/tasks"
+ href="/onboarding/first-task"Verified in the UI
1. The CTA on the catalog report (the changed component, rendered): 2. Where it now lands — the first-task pre-run flow (not /tasks): Verdict: 2b verified. The report CTA now delivers funnel users into the slick first-report moment. CI green, MERGEABLE. Tracking: chat#1881 2b. (Screenshots on the |


What
The post-valuation catalog report's primary CTA — "Set up your weekly report" — routed to a blank
/taskspage. This points it at/onboarding/first-task, the existing one-click first-task flow:So marketing-funnel users get the same first-report moment the direct signup already delivers.
Part of #1881 — item 2b.
Changes
components/Catalog/report/CatalogReportCta.tsx—href="/tasks"→href="/onboarding/first-task"; refreshed the stale "links to /tasks until the first-task step ships" comment (that step shipped in release: onboarding sequence → prod (chat#1867) — router, steps, first-task emails, add-artist, Kimi K3 #1880).The first-task step (
FirstTaskStep→FirstTaskReportRun→FirstTaskConfirm) and its route already exist onmain(#1880); this PR is the wiring the CTA's own comment flagged as pending.Verification gate
Full end-to-end verification (report actually generates + schedules) needs a populated roster, which is gated on api item 1b (api#777 — link the searched Spotify artist). Until 1b is live, a funnel signup can land on an empty roster and
FirstTaskStepshows "Select an artist to generate your first report." The CTA rewire itself is complete and correct; the destination flow is exercised by the direct-signup path today.Refs #1881
🤖 Generated with Claude Code
Summary by cubic
Reroutes the “Set up your weekly report” CTA to
/onboarding/first-taskinstead of a blank/tasks. This runs the one‑click flow that pre‑generates the first weekly report and confirms Monday scheduling, matching the direct‑signup experience and addressing #1881 item 2b.Written for commit 5808148. Summary will update on new commits.