From 32d2b6c013e2e7bb5f533e269b50d672de6c366d Mon Sep 17 00:00:00 2001 From: Will Miao <13051207myq@gmail.com> Date: Tue, 19 Aug 2025 08:54:12 +0800 Subject: [PATCH] fix: disable pysssss autocomplete in Lora-related nodes Disable PySSSS autocomplete functionality in: - Lora Loader - Lora Stacker - WanVideo Lora Select node --- py/nodes/lora_loader.py | 3 ++- py/nodes/lora_stacker.py | 1 + py/nodes/wanvideo_lora_select.py | 1 + web/comfyui/autocomplete.js | 22 ++++++++++++++++++---- 4 files changed, 22 insertions(+), 5 deletions(-) diff --git a/py/nodes/lora_loader.py b/py/nodes/lora_loader.py index ed37837d..b4772521 100644 --- a/py/nodes/lora_loader.py +++ b/py/nodes/lora_loader.py @@ -17,7 +17,8 @@ class LoraManagerLoader: "model": ("MODEL",), # "clip": ("CLIP",), "text": (IO.STRING, { - "multiline": True, + "multiline": True, + "pysssss.autocomplete": False, "dynamicPrompts": True, "tooltip": "Format: separated by spaces or punctuation", "placeholder": "LoRA syntax input: " diff --git a/py/nodes/lora_stacker.py b/py/nodes/lora_stacker.py index 0c57803b..41fed8f8 100644 --- a/py/nodes/lora_stacker.py +++ b/py/nodes/lora_stacker.py @@ -17,6 +17,7 @@ class LoraStacker: "required": { "text": (IO.STRING, { "multiline": True, + "pysssss.autocomplete": False, "dynamicPrompts": True, "tooltip": "Format: separated by spaces or punctuation", "placeholder": "LoRA syntax input: " diff --git a/py/nodes/wanvideo_lora_select.py b/py/nodes/wanvideo_lora_select.py index 0d0188e2..d948eb02 100644 --- a/py/nodes/wanvideo_lora_select.py +++ b/py/nodes/wanvideo_lora_select.py @@ -18,6 +18,7 @@ class WanVideoLoraSelect: "merge_loras": ("BOOLEAN", {"default": True, "tooltip": "Merge LoRAs into the model, otherwise they are loaded on the fly. Always disabled for GGUF and scaled fp8 models. This affects ALL LoRAs, not just the current one"}), "text": (IO.STRING, { "multiline": True, + "pysssss.autocomplete": False, "dynamicPrompts": True, "tooltip": "Format: separated by spaces or punctuation", "placeholder": "LoRA syntax input: " diff --git a/web/comfyui/autocomplete.js b/web/comfyui/autocomplete.js index ca0cef4d..3b9bf0e3 100644 --- a/web/comfyui/autocomplete.js +++ b/web/comfyui/autocomplete.js @@ -141,11 +141,18 @@ class AutoComplete { } getSearchTerm(value) { - const lastCommaIndex = value.lastIndexOf(','); - if (lastCommaIndex === -1) { - return value.trim(); + // Use helper to get text before cursor for more accurate positioning + const beforeCursor = this.helper.getBeforeCursor(); + if (!beforeCursor) { + return ''; } - return value.substring(lastCommaIndex + 1).trim(); + + // Split on multiple delimiters: comma, space, '>' and other common separators + const segments = beforeCursor.split(/[,\s>]+/); + + // Return the last non-empty segment as search term + const lastSegment = segments[segments.length - 1] || ''; + return lastSegment.trim(); } async search(term = '') { @@ -221,6 +228,13 @@ class AutoComplete { if (this.dropdown.lastChild) { this.dropdown.lastChild.style.borderBottom = 'none'; } + + // Auto-select the first item with a small delay + if (this.items.length > 0) { + setTimeout(() => { + this.selectItem(0); + }, 100); // 50ms delay + } } highlightMatch(text, searchTerm) {