ltdrdata / ComfyUI-Workflow-Component

This is a side project to experiment with using workflows as components.
GNU General Public License v3.0
214 stars 9 forks source link

[Bug]Unable to create components #24

Closed nefudev closed 11 months ago

nefudev commented 11 months ago

I was able to create components without any problems, but after updating ComfyUI and all extensions today, I have the following problems.

  1. when I create a component, the inputs are corrupted
  2. component cannot be saved with "Export As Component

Tried

The hashes of ComfyUI and extensions currently in use are as follows(All the latest versions at this time)

ComfyUI:1f2f4eaa6f04660a7df7d71eede3118d09b1c2c2 ComfyUI-Workflow-Component:9e8ccf5fa163cf2febabffff40989f77e8c51e62 ComfyUI-Impact-Pack: 12b5b1a5709d7ef11b384ee239a1575572f4d116

img_0001 3

ltdrdata commented 11 months ago

I updated Workflow Component for latest ComfyUI.

One common mistake when recreating a workflow is ensuring that the name of input interfaces of components do not have duplicates. And in cases where it shows as "BROKEN," it is necessary to check the terminal messages. This typically happens when using an not installed custom node or error node inside component.

BTW, I am currently using the Workflow of the existing structure and identifying areas for improvement. The biggest issue is the backward compatibility problem when the structure of a custom node changes. I am currently considering how to address this issue.

I hope to see improvements in such issues in the workflow component that will be based on PR931 in the future.

MortalSage commented 11 months ago

I had the same issue, until I updated just now. After the update I didn't get broken components anymore, but the export button seems broken. Nothing happened at all. Tried to locate the issue by reducing component complexity, I found that text-inputs prevent me from exporting the component. For example I am not allowed to make denoise or prompt an input anymore. If I remove all text-inputs, I can export and use components again. Also, old custom-nodes with text-inputs in it are still working.

nefudev commented 11 months ago

Thanks for the reply.

I'll double check and note what I noticed.

The following error was confirmed when the corrupt node was read and viewed.

[Workflow-Component] '## workflow102 [b7280c]' is broken. Maybe there are missing nodes. (INFO: 31)
Traceback (most recent call last):
  File "<ComfyUI_dir>\custom_nodes\ComfyUI-Workflow-Component\workflow_component\component_loader.py", line 209, in get_input_types_dynamic
    build_input_types(i, input_mapping, input_types, node, node_config_map, spec_map)
  File "<ComfyUI_dir>\custom_nodes\ComfyUI-Workflow-Component\workflow_component\component_loader.py", line 336, in build_input_types
    if node_config_map[i][1] is not None or node_config_map[i][2] is not None or node_config_map[i][3] is not None or node_config_map[i][4] is not None:
KeyError: 31

The structure of workflow102 is described below.(The generated nodes are the same as in the first image) img_0001 4

R-ES-H commented 11 months ago

Same thing here, I can't export as component if any widget is converted to an input

[Workflow-Component] '## NEXUS [614180]' is broken. Maybe there are missing nodes. (INFO: 5300)
Traceback (most recent call last):
  File "E:\ComfyUI\ComfyUI\custom_nodes\ComfyUI-Workflow-Component\workflow_component\component_loader.py", line 209, in get_input_types_dynamic
    build_input_types(i, input_mapping, input_types, node, node_config_map, spec_map)
  File "E:\ComfyUI\ComfyUI\custom_nodes\ComfyUI-Workflow-Component\workflow_component\component_loader.py", line 336, in build_input_types
    if node_config_map[i][1] is not None or node_config_map[i][2] is not None or node_config_map[i][3] is not None or node_config_map[i][4] is not None:
KeyError: 5300
ltdrdata commented 11 months ago

With the update to ComfyUI, I made a compatibility patch, but then another patch changed it back to the old way, causing issues. Now, it should work well again.

ltdrdata commented 11 months ago

My mistake.

ltdrdata commented 11 months ago

This is fixed on b2b11b191be6b15eb382a6ab0c0339dd3d42aa60

V0.43.2