- Implement NodeStreamRegistry for managing adapters that handle ComfyUI node outputs. - Create BaseAdapter interface for defining adapter structure and behavior. - Add DefaultImageAdapter for standard image output handling. - Implement KnownNodesAdapter for well-known ComfyUI nodes with specific output formats. - Introduce VideoAdapter for handling video output from nodes. - Establish NodeStream feature flag for controlled rollout. - Add tests for NodeStreamController to ensure proper behavior when feature is disabled.
2.4 KiB
2.4 KiB
Node Stream Reactivation
Current status
Node Stream is intentionally disabled for now.
The single source of truth is:
js/features/viewer/nodeStream/nodeStreamFeatureFlag.js
As long as NODE_STREAM_FEATURE_ENABLED stays false:
- the Floating Viewer toolbar does not show the Node Stream button,
- the
Nshortcut does nothing, floatingViewerManagerignores Node Stream activation and payloads,entry.jsdoes not initialize the controller or exposewindow.MajoorNodeStream,NodeStreamControllerstays inert even if called directly.
Why it was disabled
The feature is being paused until the selection-only behavior is stable enough to ship again without confusing MFV behavior.
The implementation was kept in the repo on purpose so the next reactivation does not require rebuilding the feature from scratch.
Files touched by the temporary shutdown
js/features/viewer/nodeStream/nodeStreamFeatureFlag.jsjs/features/viewer/nodeStream/NodeStreamController.jsjs/features/viewer/FloatingViewer.jsjs/features/viewer/floatingViewerManager.jsjs/entry.jsjs/app/events.jsjs/tests/node_stream_controller.vitest.mjs
Reactivation checklist
- Set
NODE_STREAM_FEATURE_ENABLED = trueinjs/features/viewer/nodeStream/nodeStreamFeatureFlag.js. - Confirm the Node Stream toolbar button reappears in the MFV.
- Confirm the
Nshortcut andmjr:mfv-nodestream-toggleevent are re-enabled. - Confirm
entry.jsinitializes the controller and re-exposeswindow.MajoorNodeStream. - Replace the current disabled-state tests in
js/tests/node_stream_controller.vitest.mjswith active behavior tests again.
Minimum manual smoke tests after reactivation
Use the real local stack and verify these cases from the ComfyUI canvas:
- Core
LoadImage - Core
LoadImageMask LayerUtility: ImageBlendLayerUtility: ImageBlendAdvanceLayerMask: MaskPreviewMaskPreview+fromcomfyui_essentialsPreviewImageOrMaskandImageAndMaskPreviewfromcomfyui-kjnodes- at least one WAS Suite image node if present locally at that time
Expected behavior when reactivated
- Selection-only behavior: previews should follow node clicks, not execution events.
- If a selected node has no direct preview, downstream preview/save nodes may be used as the preview source.
- The feature should stay compatible with MFV lifecycle teardown/hot-reload.