- Remove node.widgets.splice monkey-patching in rgthree Power Lora Loader adapter to avoid infinite recursion with Vue 3 reactive array proxies on modern ComfyUI frontend. - Rely on setDirtyCanvas to trigger inspection updates. - Update test suite to verify no widgets.splice wrapping occurs and reactive proxies do not recurse.
Custom node model adapters
This directory contains frontend integrations for custom nodes whose model widgets do not follow ComfyUI's standard widget behavior.
Each adapter exports:
id: stable integration identifier.nodeTypes: supported ComfyUI node type names.category: default model category for download targeting.isModelWidget(widgetName): identifies widget changes handled by the adapter.getModelEntries(node): returns normalized source data withidentity,active, andstrength.observe(node, notify): attaches any node-specific change hooks and callsnotifyafter a relevant mutation.
Register new adapters in registry.js. The registry owns entry normalization
and model-list/strength signatures. Generic workflow refresh, cache, and Loaded
Models rendering stay outside adapters.
Legacy custom-node metadata normalization also stays in the registry so generic views do not need package-specific field knowledge.