diff --git a/pyproject.toml b/pyproject.toml index c3291cc..bbe1c49 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "ComfyUI-MaxedOut" description = "Custom ComfyUI nodes used in Maxed Out workflows (SDXL, Flux, Wan 2.2, etc.)" -version = "1.8.3" +version = "1.8.5" license = {file = "LICENSE"} # classifiers = [ # # For OS-independent nodes (works on all operating systems) diff --git a/web/js/image_comparer.js b/web/js/image_comparer.js index 8e551fa..290f352 100644 --- a/web/js/image_comparer.js +++ b/web/js/image_comparer.js @@ -9,6 +9,7 @@ const NODE_TYPE_STRINGS = new Set([ "Video Comparer MXD", "VideoComparerMXD", ]); +const NODE_OVERRIDE_CLASSES = new Map(); // --- Canvas Utilities (Inline) --- function measureText(ctx, str) { @@ -589,7 +590,14 @@ class MxdImageComparer extends MxdBaseServerNode { `; } static setUp(comfyClass, nodeData) { - MxdBaseServerNode.registerForOverride(comfyClass, nodeData, MxdImageComparer); + let boundClass = NODE_OVERRIDE_CLASSES.get(nodeData.name); + if (!boundClass) { + // Each comparer node needs its own class so static nodeData does not get overwritten. + boundClass = class extends MxdImageComparer {}; + NODE_OVERRIDE_CLASSES.set(nodeData.name, boundClass); + } + boundClass.nodeData = nodeData; + MxdBaseServerNode.registerForOverride(comfyClass, nodeData, boundClass); } static onRegisteredForOverride(comfyClass) { addConnectionLayoutSupport(MxdImageComparer, app, [