Skip to content

feat: Onboarding Checklist#2421

Open
camielvs wants to merge 2 commits into
06-12-feat_learning_hub_-_milestone_2from
06-17-feat_onboarding_checklist
Open

feat: Onboarding Checklist#2421
camielvs wants to merge 2 commits into
06-12-feat_learning_hub_-_milestone_2from
06-17-feat_onboarding_checklist

Conversation

@camielvs

@camielvs camielvs commented Jun 17, 2026

Copy link
Copy Markdown
Collaborator

Description

First PR in a stacked series that builds an onboarding experience for new users (see #622). This one lays the foundation and surfaces the first piece of UI — an onboarding checklist on the Learning Hub.

Foundation (OnboardingProvider)

  • Tracks four steps: read the docs, complete a guided tour, create a pipeline, and execute a run.
  • Steps are detected automatically rather than self-reported:
    • complete a tour — derived from TourProvider completions.
    • execute a run — queried from the backend (runs created by the current user).
    • create a pipeline — driven by a small event bus (userPipelineWriteEvents) emitted from the pipeline-write chokepoints (componentStore and PipelineFile), so v1 edits, v2 edits, imports, and the new-pipeline button all count.
    • read the docs — marked when the user opens the docs link.
  • Progress is persisted to the backend (/api/users/me/settings), not localStorage. Writes use keepalive so a fire-and-forget save survives navigation/reload.
  • Supports dismiss / restore.

UI

  • OnboardingChecklist — a reusable progress + step-list component (extracted up front so the next PR doesn't have to refactor it).
  • OnboardingHero on the Learning Hub renders the checklist with progress, per-step CTAs, and a dismiss control.

Provider and Onboarding components are enabled in the React Compiler.

Stacked PR — base of the series. Followed by the Onboarding Pill (#2440) and the Onboarding Welcome Page (#2435).

Related Issue and Pull requests

Progresses https://github.com/Shopify/oasis-frontend/issues/622

Stacked: #2440#2435

Type of Change

  • New feature

Checklist

  • I have tested this does not break current pipelines / runs functionality
  • I have tested the changes on staging

Screenshots (if applicable)

image.png

image.png

Test Instructions

  1. As a fresh user (or after resetting onboarding settings), open the Learning Hub — the checklist should show 0/4 complete.
  2. Complete a guided tour, create a pipeline, and execute a run — each should tick off without a reload (creation is event-driven).
  3. Click the docs CTA — read the docs should tick.
  4. Reload — progress should persist (backed by user settings, not localStorage).
  5. Dismiss the card, reload, and restore it — dismissal state should persist too.

Additional Comments

The provider exposes isReady (queries settled, for routing) vs isResolved (backend resolved + state loaded, for gating visible UI). The downstream pill/welcome PRs rely on this distinction to avoid flicker.

camielvs commented Jun 17, 2026

Copy link
Copy Markdown
Collaborator Author

@camielvs camielvs mentioned this pull request Jun 17, 2026
8 tasks
@camielvs camielvs added the #gsd:50583 Learning Hub label Jun 17, 2026 — with Graphite App
@camielvs camielvs force-pushed the 06-17-feat_onboarding_checklist branch from c455af7 to fddfd22 Compare June 17, 2026 20:56
@github-actions

github-actions Bot commented Jun 17, 2026

Copy link
Copy Markdown

🎩 Preview

A preview build has been created at: 06-17-feat_onboarding_checklist/2741cce

@camielvs camielvs added the #gsd:50583 Learning Hub label Jun 17, 2026
@camielvs camielvs force-pushed the 06-17-feat_onboarding_checklist branch 5 times, most recently from 247aa01 to a27cdb0 Compare June 18, 2026 22:35
@camielvs camielvs force-pushed the 06-17-feat_onboarding_checklist branch from a27cdb0 to 72eadf3 Compare June 19, 2026 02:09
@camielvs camielvs force-pushed the 06-12-feat_learning_hub_-_milestone_2 branch from 65047a8 to 1823626 Compare June 19, 2026 02:25
@camielvs camielvs force-pushed the 06-17-feat_onboarding_checklist branch 4 times, most recently from ebc0b79 to 3b09b65 Compare June 19, 2026 17:40
@camielvs camielvs force-pushed the 06-12-feat_learning_hub_-_milestone_2 branch from 1823626 to f6fe1e5 Compare June 19, 2026 18:49
@camielvs camielvs force-pushed the 06-17-feat_onboarding_checklist branch from 3b09b65 to 30b5b30 Compare June 19, 2026 18:49
@camielvs camielvs force-pushed the 06-17-feat_onboarding_checklist branch 2 times, most recently from 5d180fd to 4e68a1c Compare June 19, 2026 21:08
@camielvs camielvs marked this pull request as ready for review June 19, 2026 21:24
@camielvs camielvs requested a review from a team as a code owner June 19, 2026 21:24
@camielvs camielvs force-pushed the 06-12-feat_learning_hub_-_milestone_2 branch from f6fe1e5 to ab71553 Compare June 19, 2026 21:48
@camielvs camielvs force-pushed the 06-17-feat_onboarding_checklist branch from 4e68a1c to c818dc8 Compare June 19, 2026 21:48

@camielvs camielvs left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Reviewed the foundation PR. Solid structure — backend-backed progress, derived vs. self-reported steps, and good test coverage (parseProgress, hooks offline/online, docs-visit tracking). A few non-blocking observations left inline.

Comment thread src/routes/Dashboard/Learn/LearnHomeView.tsx Outdated
Comment thread src/providers/OnboardingProvider/OnboardingProvider.tsx
Comment thread src/providers/OnboardingProvider/onboardingProgress.ts
@camielvs camielvs force-pushed the 06-17-feat_onboarding_checklist branch from 3cce650 to 8bdff0e Compare June 19, 2026 23:09
- Render OnboardingHero once, drive placement via CSS order toggle
- Document why derived onboarding steps don't emit step.completed
- Reconcile onboarding progress cache on PATCH failure via onError

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@camielvs camielvs force-pushed the 06-17-feat_onboarding_checklist branch from 8bdff0e to 2741cce Compare June 19, 2026 23:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

#gsd:50583 Learning Hub

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant