Skip to content

refactor(web): move the funnel step builder into the page kit - #2171

Open
Makisuo wants to merge 5 commits into
mainfrom
refactor/funnel-step-builder-kit
Open

Makisuo wants to merge 5 commits into
mainfrom
refactor/funnel-step-builder-kit

Merge remote-tracking branch 'origin/main' into refactor/funnel-step-…

4e9ab8d
Select commit
Loading
Failed to load commit list.
Maple Review Bot / Maple / review succeeded Nov 14, 2026 in 2m 31s

Confidence 10/10 · No issues found

🟢 Confidence 10/10 · safe to merge. Faithful move: each removed widget edit has an equivalent in the kit, and the pure edits and ids are pinned by tests.
no findings · tests covered · risk medium

Moves the funnel/paths step builder, its schemas and pure step edits into apps/web/src/page/kit/funnel-steps.ts, with the widget editor plugging its attribute filter line back in. The move is behavior-preserving and safe to merge.

  • applyStepEdit/applyAnchorEdit replace the widget's six step edits
  • Kit stepBuilder takes eventStepExtra for the widget's filter line
  • Control ids become step-<control>-<scope>-<index>, parsed by stepEditOf
  • ProductEdit.Step({ scope, edit }) carries every step edit
What was checked
  • Each deleted widget edit maps onto applyStepEdit (product-apply.ts:27); the paths anchor still refuses a session step
  • No producer or parser of the old widget-step-* / step-kind: ids remains (repo-wide grep, no matches)
  • EditorState.funnel/paths are non-nullable (editor-state.ts:130), so dropping the null guard in editSteps cannot dereference null

4e9ab8d · Reply "won't fix" to dismiss a finding, or mention @maple-review-bot to ask about one.