feat: Guided Tour - Subgraphs#2366
Conversation
🎩 PreviewA preview build has been created at: |
49656f5 to
a182d2f
Compare
9fbf807 to
d683836
Compare
5adf525 to
514c488
Compare
d683836 to
da85695
Compare
05098d2 to
b571f54
Compare
6ad31e0 to
d394e10
Compare
b571f54 to
0124745
Compare
c63e444 to
a4ded78
Compare
0124745 to
75ab404
Compare
a4ded78 to
7ef63ec
Compare
75ab404 to
43e2348
Compare
7ef63ec to
9b23355
Compare
677a1a3 to
601b598
Compare
ee939da to
352b162
Compare
0bf07b8 to
ccceaaf
Compare
352b162 to
5d3afbc
Compare
ccceaaf to
d97d028
Compare
5d3afbc to
27c0b3b
Compare
d97d028 to
adb10d0
Compare
27c0b3b to
0f52445
Compare
adb10d0 to
3830d88
Compare
0f98943 to
f541439
Compare
3830d88 to
0f6861d
Compare
0f6861d to
4ba9aae
Compare
f541439 to
4b15ecd
Compare
| onClick={() => onNavigate(index)} | ||
| className="h-6 px-2" | ||
| data-tour-crumb={isRoot ? "root" : "ancestor"} | ||
| data-tour-crumb-index={index} |
There was a problem hiding this comment.
🤖 This is an AI-generated code review comment.
data-tour-crumb-index is an unconsumed anchor
subgraphs.tour.json only selects [data-tour-crumb="root"] (the navigate-to-root step), and nothing reads data-tour-crumb-index — not the tour JSON (0 references) and not EditorTourBridge (no data-tour-crumb reader; navigate-to-root/navigate-into-subgraph are detected via subgraph-path logic). So the per-crumb index is a dead anchor today.
(The sibling data-tour-crumb="root"/"ancestor" is fine — "root" is used and "ancestor" is just the natural complement of the same ternary. Same dead-data-tour-* theme as #2306/#2312.)
Fix: drop data-tour-crumb-index until a step targets a specific ancestor level by index, or keep it only if it's deliberately reserved for E2E selectors (worth a one-line note if so).
4ba9aae to
57d0195
Compare
4b15ecd to
43ecf52
Compare
57d0195 to
b0e3d29
Compare
43ecf52 to
40d7a25
Compare
b0e3d29 to
c89dd76
Compare
f997497 to
2ea3d5e
Compare
c0ef8e5 to
0f7facd
Compare
2ea3d5e to
303d254
Compare
0f7facd to
2045cbf
Compare

Description
The registered Subgraphs guided tour — a 16-step walkthrough of what subgraphs are, how to navigate them, and how to unpack and re-create them. Uses the subgraph interaction mechanics from #2365 and boots into a temporary tour pipeline seeded from a new
Intro: Subgraphsexample.The tour goes full circle: explore three existing subgraphs → dive in and back out → unpack one into its tasks → re-bundle those tasks into a brand-new subgraph.
What's in the tour
navigate-into-subgraph)pipeline-treedock window)navigate-to-root)select-task)unpack-subgraph)multi-select-tasks, min 2)create-subgraph)Interactive steps fall back to non-interactive copy when the prompted state is already satisfied (consistent with #2306 / #2312).
DOM anchors & assets added in this PR
Following the convention that tour-specific anchors ship with the tour:
public/tour-pipelines/Subgraphs.pipeline.component.yaml(Intro: Subgraphs: three subgraph tasks — Data Preparation, Training, Evaluation — each wrapping its own internal graph).SubgraphBreadcrumbsView—data-tour="subgraph-breadcrumbs", plusdata-tour-crumb(root/ancestor) anddata-tour-crumb-indexso steps can ring the Root crumb.NodeMenu—data-tour="node-menu-trigger"/node-menu-content/node-menu-unpackfor the Unpack Subgraph step.SelectionToolbar—data-tour="create-subgraph-popover"(reuses existingdata-testid="selection-toolbar"/selection-create-subgraph).tours.json— registers the Subgraphs tour in the Learning Hub.Interactions consumed (defined in #2365):
navigate-into-subgraph,navigate-to-root,select-task,unpack-subgraph,multi-select-tasks,create-subgraph.Related Issue and Pull requests
Progresses https://github.com/Shopify/oasis-frontend/issues/583
Depends on #2365 (subgraph interaction mechanics) and the framework stack below it.
Type of Change
Checklist
Screenshots
Test Instructions
Dashboard → Learning Hub → Featured Tours → "Guided Tour: Subgraphs". Walk all 16 steps end-to-end.
Interactive steps
navigate-into-subgraph) — double-clicking Data Preparation advances; double-clicking another subgraph should not (it's gated to that task name).navigate-to-root) — clicking Root in the breadcrumbs returns to the top and advances.select-task) — only selecting Data Preparation advances.unpack-subgraph) — advances after Node menu → Unpack Subgraph; the highlight should track the menu trigger/content and ring the Unpack item.multi-select-tasks) — selecting both Generate and Split (Cmd/Ctrl-click or box-select) advances.create-subgraph) — the floating toolbar's Create Subgraph → name → confirm advances.Navigation / re-measurement
Tour-mode regressions
/tour/subgraphs?step=N) with canvas state intact (session storage from feat: Guided Tours Ephemeral Pipelines #2334)./learn/tours; the tour pipeline does not leak into the regular pipelines list.Additional Comments
The seed pipeline is intentionally shallow (one level of nesting per subgraph) so the tour stays legible. The mechanics (#2365) and the framework stack below it need to land first for this to run.