Skip to content
This repository was archived by the owner on Apr 21, 2026. It is now read-only.

feat: P0-A in-app conversion lift for no-project users#485

Merged
LucasSantana-Dev merged 4 commits intomainfrom
feature/siza-p0a-conversion-lift-v2
Mar 13, 2026
Merged

feat: P0-A in-app conversion lift for no-project users#485
LucasSantana-Dev merged 4 commits intomainfrom
feature/siza-p0a-conversion-lift-v2

Conversation

@LucasSantana-Dev
Copy link
Copy Markdown
Member

@LucasSantana-Dev LucasSantana-Dev commented Mar 13, 2026

Summary

  • route no-project dashboard CTAs through one-click starter-project creation (header, empty-state, quick action, checklist)
  • route onboarding no-project skip/done exits to conversion-first destinations with deterministic attribution
  • add activation starter lifecycle telemetry (activation_starter_project_confirmed, activation_starter_project_created, activation_starter_project_fallback, activation_route_to_generate)
  • extend dashboard/onboarding tests and update README/CHANGELOG for the new conversion behavior
  • pin flatted via root overrides and lockfile update to resolve CVE-2026-32141 flagged by required Trivy check

Constraints kept

  • no schema changes
  • no auth changes
  • no new public endpoints
  • soft nudges only (skip/not-now preserved)

Validation

  • npm run lint
  • npx tsc --noEmit
  • npm run test
  • NODE_ENV=production npm run build

Summary by CodeRabbit

  • Bug Fixes

    • Corrected onboarding skip flow navigation to route through dashboard instead of project creation.
  • Tests

    • Enhanced test coverage for starter project workflows and onboarding paths.
    • Added tracking verification for user action flows in dashboard and onboarding.
  • Chores

    • Updated package dependency overrides for improved compatibility.

@vercel
Copy link
Copy Markdown

vercel Bot commented Mar 13, 2026

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

Project Deployment Actions Updated (UTC)
siza-web Ready Ready Preview, Comment Mar 13, 2026 7:04pm

Request Review

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Mar 13, 2026

Caution

Review failed

Pull request was closed or merged during review

Walkthrough

This PR enhances the onboarding and dashboard workflows by introducing starter project creation with analytics tracking. Changes include modifying the dashboard client to support project-aware action handlers, updating onboarding navigation to use entry-based routing parameters, adding telemetry events for starter project steps, and updating related test coverage.

Changes

Cohort / File(s) Summary
Test Coverage for Activation Tracking
apps/web/src/__tests__/components/dashboard/DashboardClient.test.tsx, apps/web/src/__tests__/components/onboarding/DoneStep.test.tsx, apps/web/src/__tests__/components/onboarding/OnboardingWizard.test.tsx
Added test assertions for activation event tracking (activation_starter_project_confirmed, activation_starter_project_created, activation_starter_project_fallback, activation_route_to_generate). Updated expected routing to include entry query parameters (entry=done_primary, step=project, entry=skip_welcome, intent=create_project).
Starter Project Creation Flow
apps/web/src/app/(dashboard)/dashboard/dashboard-client.tsx
Extended QuickAction component with optional onClick prop for programmatic handling. Added handleCreateStarterProject helper that accepts entry parameter and emits telemetry events. Integrated project-aware conditional rendering to switch between link navigation and button-based starter project creation based on project existence.
Onboarding Navigation & Telemetry
apps/web/src/components/onboarding/DoneStep.tsx, apps/web/src/components/onboarding/OnboardingWizard.tsx
Updated navigation destinations to include entry=done_primary and step=project parameters. Added trackActivationEvent helper for onboarding telemetry. Modified skip flow to route to dashboard with entry=skip_ instead of project creation. Enhanced resolveDestination to return projectId for tracking purposes.
Dependency Management
package.json
Added flatted ^3.4.0 to package overrides for consistent dependency resolution.

Sequence Diagram

sequenceDiagram
    actor User
    participant UI as Dashboard Client
    participant Analytics as Analytics Provider
    participant API as Project API
    participant Nav as Navigation

    User->>UI: Click action (header_primary, empty_state_primary, etc.)
    UI->>Analytics: trackStarterProjectEvent(confirmation, entry, params)
    Analytics-->>UI: Event tracked
    UI->>API: Create starter project
    API-->>UI: Project created {id: starter-1}
    UI->>Analytics: trackStarterProjectEvent(creation, entry, {projectId})
    Analytics-->>UI: Event tracked
    UI->>Analytics: trackStarterProjectEvent(routing, entry, {projectId})
    Analytics-->>UI: Event tracked
    UI->>Nav: Navigate to /generate?projectId=starter-1&entry=...
    Nav-->>User: Route user to generate flow
    
    alt Project creation fails
        API-->>UI: Error
        UI->>Analytics: trackStarterProjectEvent(fallback, entry, {projectId: null})
        Analytics-->>UI: Event tracked
        UI->>Nav: Navigate to /projects/new?entry=...&step=project
        Nav-->>User: Route user to project creation fallback
    end
Loading

Estimated Code Review Effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly Related PRs

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'feat: P0-A in-app conversion lift for no-project users' directly matches the PR's core objective: routing no-project users through conversion-focused flows. It accurately summarizes the main change.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feature/siza-p0a-conversion-lift-v2
📝 Coding Plan
  • Generate coding plan for human review comments

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 OpenGrep (1.16.4)
apps/web/src/__tests__/components/onboarding/DoneStep.test.tsx

┌──────────────┐
│ Opengrep CLI │
└──────────────┘

�[32m✔�[39m �[1mOpengrep OSS�[0m
�[32m✔�[39m Basic security coverage for first-party code vulnerabilities.

�[1m Loading rules from local config...�[0m

apps/web/src/__tests__/components/onboarding/OnboardingWizard.test.tsx

┌──────────────┐
│ Opengrep CLI │
└──────────────┘

�[32m✔�[39m �[1mOpengrep OSS�[0m
�[32m✔�[39m Basic security coverage for first-party code vulnerabilities.

�[1m Loading rules from local config...�[0m

apps/web/src/__tests__/components/dashboard/DashboardClient.test.tsx

┌──────────────┐
│ Opengrep CLI │
└──────────────┘

�[32m✔�[39m �[1mOpengrep OSS�[0m
�[32m✔�[39m Basic security coverage for first-party code vulnerabilities.

�[1m Loading rules from local config...�[0m

  • 4 others

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

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

@sonarqubecloud
Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
7.4% Duplication on New Code (required ≤ 3%)

See analysis details on SonarQube Cloud

@github-actions
Copy link
Copy Markdown

Project Scorecard


Scorecard: 84/100 (B)
────────────────────────────────────────
  security: 100/100 (A)
  quality: 80/100 (B) — 1 violations
  performance: 67/100 (D) — 1 violations
  compliance: 75/100 (C) — 1 violations
  dependency: 100/100 (A)

Recommendations:
  - Increase test coverage to meet the 80% threshold
  - Extend log retention to at least 90 days for compliance

@LucasSantana-Dev LucasSantana-Dev merged commit 390a73c into main Mar 13, 2026
28 of 30 checks passed
@LucasSantana-Dev LucasSantana-Dev deleted the feature/siza-p0a-conversion-lift-v2 branch March 13, 2026 19:09
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant