Skip to content

feat: harmonize the edit-save UX with the upgrade feature (legacy editor)#2383

Draft
morgan-wowk wants to merge 1 commit into
mwowk/save-ux-place-as-new-task-v2from
mwowk/harmonize-edit-with-upgrade-v1
Draft

feat: harmonize the edit-save UX with the upgrade feature (legacy editor)#2383
morgan-wowk wants to merge 1 commit into
mwowk/save-ux-place-as-new-task-v2from
mwowk/harmonize-edit-with-upgrade-v1

Conversation

@morgan-wowk

Copy link
Copy Markdown

Description

Related Issue and Pull requests

Type of Change

  • Bug fix
  • New feature
  • Improvement
  • Cleanup/Refactor
  • Breaking change
  • Documentation update

Checklist

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

Screenshots (if applicable)

Test Instructions

Additional Comments

@github-actions

github-actions Bot commented Jun 5, 2026

Copy link
Copy Markdown

🎩 Preview

A preview build has been created at: mwowk/harmonize-edit-with-upgrade-v1/e747268

morgan-wowk commented Jun 5, 2026

Copy link
Copy Markdown
Author

…tor)

Aligns the "Edit Component" save flow with the existing component-upgrade /
replace flows so the two read as one family (the stack will be reviewed by the
upgrade authors). An edit is, in effect, an upgrade to a hand-edited version.

- Shared `ComponentEditSummary` (`src/components/shared/ComponentDiff/`):
  renders the current → new digest transition (reusing `TrimmedDigest`) and the
  breaking-change warning — the exact copy from the v2 `ReplaceConfirmationContent`
  ("Some inputs or outputs will be removed, and their connections will be
  lost.") — above the shared `DiffSection`s. Used by both editors' save modals.
- `replaceTaskComponentRef` now seeds default arguments for newly added inputs,
  matching the upgrade flow's `replaceTask` (it already pruned removed-input
  args and orphaned downstream output bindings).
- The legacy choose-action modal shows the `ComponentEditSummary`
  (digest transition + breaking warning) above the diff.
- Analytics: emit `pipeline_editor.component.edited` (sibling of `.upgraded` /
  `.replaced`) on update/place with `componentMetadata(...)` + action.

Deliberate divergences from upgrade (kept on purpose): edit updates in place
(no task rename, unlike `replaceTaskNode`) and is undoable (so no
"This cannot be undone" copy).

Tests: new-input default seeding in `replaceTaskComponentRef`; `ComponentEditSummary`
warning/diff rendering.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet