Merged
Size
S
Change Breakdown
Refactor80%
Maintenance20%
#28115refactor(editor): Migrate workflowObject usages in NDV store

NDV components migrated away from direct workflowObject access

NDV store and components no longer reach into workflowObject directly — instead they use the workflowDocumentStore facade, a prerequisite for upcoming CRDT support.

The NDV (Node Detail View) layer is stepping back from direct access to the legacy workflowObject. Three files in the editor UI — the NDV store, the ParameterInputList component, and the NodeSettings component — have been updated to query data through the workflowDocumentStore facade instead. A new getParentNodes method was added to the workflowDocumentNodes module to bridge the gap.

This matters because n8n is laying groundwork for CRDT, and the old workflowObject won't be the source of truth forever. By routing all NDV reads through a consistent facade now, the team avoids a bigger migration later. The pattern is straightforward: swap workflowObject for workflowDocumentStore?.value, handle optionals properly, and use getNodeByName instead of getNode. The NodeSettings component also picked up a simpler reference — using workflowId directly rather than digging into workflowObject.id.

The NDV store changes are small but symbolic: parent node lookups now return false on failure instead of throwing, a small but meaningful robustness improvement.

View Original GitHub Description

Summary

As part of the groundwork for introducing CRDT, this PR replaces direct workflowObject access in NDV store and remaining NDV components with workflowDocumentStore facade methods.

Related Linear tickets, Github issues, and Community forum posts

https://linear.app/n8n/issue/CAT-2693/migrate-ndv-stores-and-settings-from-workflowobject-to

Review / Merge checklist

  • PR title and summary are descriptive. (conventions) <!-- **Remember, the title automatically goes into the changelog. Use `(no-changelog)` otherwise.** -->
  • Docs updated or follow-up ticket created.
  • Tests included. <!-- A bug is not considered fixed, unless a test is added to prevent it from happening again. A feature is not complete without tests. -->
  • PR Labeled with Backport to Beta, Backport to Stable, or Backport to v1 (if the PR is an urgent fix that needs to be backported)
© 2026 · via Gitpulse