Skip to content

Make onboarding optional, able to be ignored on desktop (take 2) #3

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 39 commits into
base: base-sha/7356af556ad087587c6b9aa5947abe6a6798e994
Choose a base branch
from

Conversation

Hellebore
Copy link

Resurrection of KittyCAD#6564 after reverting in KittyCAD#6610. Fixes KittyCAD#6609 which was caused by silly path assembly error. Prevents it in the future by adding proper typing to that path construction, and failing the navigation to a new onboarding step that doesn't match the OnboardingStatus type, so the existing E2E test will fail noisily in this case.

Original PR description below:

Closes KittyCAD#6542. Makes onboarding tutorial optional on both desktop and web, removing all redirection behavior.

Both platforms

  1. Whenever the user dismisses the tutorial before, during, or after doing it, we show a toast telling them one place to find the replay button
  2. The same code path now occurs for replay workflows via native help menu, lower-right help menu, and settings

Desktop

  1. No toasts or dialogs are shown
  2. If the user has not yet begun the tutorial, a dismissible button appears in the home page sidebar
  3. Whenever the user begins, continues, or replays the tutorial, we create a new project on their behalf and navigate to it
  4. If the user is in the middle of the tutorial, the home page button says "continue" instead of "start"
Screenshare.-.2025-04-29.9_46_32.AM-compressed.mp4

Browser

  1. If the user has not yet begun or completed the tutorial, a toast appears to begin or dismiss
  2. If the user's code is not the web tutorial's code, a warning toast is shown after the first acceptance
Screenshare.-.2025-04-29.9_49_57.AM-compressed.mp4

Tests

I consolidated all tests within onboarding-tests.spec.ts into one longer test. Several of those tests—like the "avatar text" tests—checked behavior that will become irrelevant this week when we update the onboarding to no longer mention all the menus and UI. Some of them were redundant, each checking that the code reset and the model was loaded. This test checks that, clicks through all onboarding steps and back, and verifies the "always create a new project" behavior on desktop in several ways. I left a TODO comment in that test that another test will need to be written for the divergent web onboarding behavior when we support browser E2E tests again.

Other

This PR removes one of our circular dependencies.

franknoirot and others added 30 commits April 29, 2025 14:07
and update it to not use pixel color checks, and use fixtures.
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
…ttyCAD/modeling-app into franknoirot/adhoc/optional-onboarding
@Hellebore
Copy link
Author

This is a benchmark review for experiment bakeoff.
Run ID: bakeoff/benchmark_2025-05-02T12-09-26_v1-36-0-dirty.

This pull request was cloned from https://github.com/KittyCAD/modeling-app/pull/6628. (Note: the URL is not a link to avoid triggering a notification on the original pull request.)

Experiment configuration
review_config:
  # User configuration for the review
  # - benchmark - use the user config from the benchmark reviews
  # - <value> - use the value directly
  user_review_config:
    enable_ai_review: true
    enable_rule_comments: false

    enable_complexity_comments: benchmark
    enable_security_comments: benchmark
    enable_tests_comments: benchmark
    enable_comment_suggestions: benchmark

    enable_pull_request_summary: benchmark
    enable_review_guide: benchmark

    enable_approvals: false
    base_branches: [base-sha.*]

  ai_review_config:
    # The model responses to use for the experiment
    # - benchmark - use the model responses from the benchmark reviews
    # - llm - call the language model to generate responses
    model_responses:
      comments_model: benchmark
      comment_validation_model: benchmark
      comment_suggestion_model: benchmark
      complexity_model: benchmark
      security_model: benchmark
      tests_model: benchmark
      pull_request_summary_model: benchmark
      review_guide_model: benchmark
      overall_comments_model: benchmark

# The pull request dataset to run the experiment on
pull_request_dataset:
# CodeRabbit
- https://github.com/neerajkumar161/node-coveralls-integration/pull/5
- https://github.com/gunner95/vertx-rest/pull/1
- https://github.com/Altinn/altinn-access-management-frontend/pull/1427
- https://github.com/theMr17/github-notifier/pull/14
- https://github.com/bearycool11/AI_memory_Loops/pull/142

# Greptile
- https://github.com/gumloop/guMCP/pull/119
- https://github.com/autoblocksai/python-sdk/pull/335
- https://github.com/grepdemos/ImageSharp/pull/6
- https://github.com/grepdemos/server/pull/61
- https://github.com/websentry-ai/pipelines/pull/25

# Graphite
- https://github.com/KittyCAD/modeling-app/pull/6648
- https://github.com/KittyCAD/modeling-app/pull/6628
- https://github.com/Varedis-Org/AI-Test-Repo/pull/2
- https://github.com/deeep-network/bedrock/pull/198
- https://github.com/Metta-AI/metta/pull/277

# Copilot
- https://github.com/hmcts/rpx-xui-webapp/pull/4438
- https://github.com/ganchdev/quez/pull/104
- https://github.com/xbcsmith/ymlfxr/pull/13
- https://github.com/tinapayy/B-1N1T/pull/36
- https://github.com/coder/devcontainer-features/pull/6

# Questions to ask to label the review comments
review_comment_labels: []
# - label: correct
#   question: Is this comment correct?

# Benchmark reviews generated by running
#   python -m scripts.experiment benchmark <experiment_name>
benchmark_reviews:
- dataset_pull_request: https://github.com/neerajkumar161/node-coveralls-integration/pull/5
  review_pull_request: https://github.com/sourcery-ai-experiments/node-coveralls-integration/pull/10
- dataset_pull_request: https://github.com/gunner95/vertx-rest/pull/1
  review_pull_request: https://github.com/sourcery-ai-experiments/vertx-rest/pull/1
- dataset_pull_request: https://github.com/Altinn/altinn-access-management-frontend/pull/1427
  review_pull_request: https://github.com/sourcery-ai-experiments/altinn-access-management-frontend/pull/1
- dataset_pull_request: https://github.com/bearycool11/AI_memory_Loops/pull/142
  review_pull_request: https://github.com/sourcery-ai-experiments/AI_memory_Loops/pull/1
- dataset_pull_request: https://github.com/autoblocksai/python-sdk/pull/335
  review_pull_request: https://github.com/sourcery-ai-experiments/python-sdk/pull/1
- dataset_pull_request: https://github.com/grepdemos/ImageSharp/pull/6
  review_pull_request: https://github.com/sourcery-ai-experiments/ImageSharp/pull/1
- dataset_pull_request: https://github.com/grepdemos/server/pull/61
  review_pull_request: https://github.com/sourcery-ai-experiments/server/pull/1
- dataset_pull_request: https://github.com/websentry-ai/pipelines/pull/25
  review_pull_request: https://github.com/sourcery-ai-experiments/pipelines/pull/1
- dataset_pull_request: https://github.com/KittyCAD/modeling-app/pull/6648
  review_pull_request: https://github.com/sourcery-ai-experiments/modeling-app/pull/1
- dataset_pull_request: https://github.com/Varedis-Org/AI-Test-Repo/pull/2
  review_pull_request: https://github.com/sourcery-ai-experiments/AI-Test-Repo/pull/1
- dataset_pull_request: https://github.com/deeep-network/bedrock/pull/198
  review_pull_request: https://github.com/sourcery-ai-experiments/bedrock/pull/1
- dataset_pull_request: https://github.com/Metta-AI/metta/pull/277
  review_pull_request: https://github.com/sourcery-ai-experiments/metta/pull/1
- dataset_pull_request: https://github.com/hmcts/rpx-xui-webapp/pull/4438
  review_pull_request: https://github.com/sourcery-ai-experiments/rpx-xui-webapp/pull/1
- dataset_pull_request: https://github.com/ganchdev/quez/pull/104
  review_pull_request: https://github.com/sourcery-ai-experiments/quez/pull/1
- dataset_pull_request: https://github.com/xbcsmith/ymlfxr/pull/13
  review_pull_request: https://github.com/sourcery-ai-experiments/ymlfxr/pull/1
- dataset_pull_request: https://github.com/tinapayy/B-1N1T/pull/36
  review_pull_request: https://github.com/sourcery-ai-experiments/B-1N1T/pull/1

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