From 7ea7d4607e46a97bd12fcefb91347f807619b9c7 Mon Sep 17 00:00:00 2001 From: Ruben Garcia Date: Wed, 11 Feb 2026 20:29:03 +0100 Subject: [PATCH 1/9] Start adding bearer tokens --- core/dispatch.py | 25 +++++++++++++++++++------ core/fetch.py | 16 ++++++++++++---- nodes/advanced.py | 6 +++++- nodes/simple.py | 16 +++++++++++----- 4 files changed, 47 insertions(+), 16 deletions(-) diff --git a/core/dispatch.py b/core/dispatch.py index b73dff3..8310a4f 100644 --- a/core/dispatch.py +++ b/core/dispatch.py @@ -10,8 +10,11 @@ from .utils import clean_url, get_client_id -def clear_remote_queue(remote_url): - r = requests.get(f"{remote_url}/queue", timeout=4) +def clear_remote_queue(remote_url, remote_bearer_token): + headers = {} + if remote_bearer_token and remote_bearer_token.strip(): + headers["Authorization"] = f"Bearer {remote_bearer_token.strip()}" + r = requests.get(f"{remote_url}/queue", headers=headers, timeout=4) r.raise_for_status() queue = r.json() @@ -23,6 +26,7 @@ def clear_remote_queue(remote_url): r = requests.post( f"{remote_url}/queue", json = {"delete" : to_cancel}, + headers=headers, timeout = 4, ) r.raise_for_status() @@ -32,23 +36,32 @@ def clear_remote_queue(remote_url): r = requests.post( f"{remote_url}/interrupt", json = {}, + headers=headers, timeout = 4, ) r.raise_for_status() break -def get_remote_os(remote_url): +def get_remote_os(remote_url, remote_bearer_token): + headers = {} + if remote_bearer_token and remote_bearer_token.strip(): + headers["Authorization"] = f"Bearer {remote_bearer_token.strip()}" + url = f"{remote_url}/system_stats" - r = requests.get(url, timeout=4) + r = requests.get(url, headers=headers, timeout=4) r.raise_for_status() data = r.json() return data["system"]["os"] -def get_output_nodes(remote_url): +def get_output_nodes(remote_url, remote_bearer_token): # I'm 90% sure this could just use the # list from the host but better safe than sorry url = f"{remote_url}/object_info" - r = requests.get(url, timeout=4) + headers = {} + if remote_bearer_token and remote_bearer_token.strip(): + headers["Authorization"] = f"Bearer {remote_bearer_token.strip()}" + + r = requests.get(url, headers=headers, timeout=4) r.raise_for_status() data = r.json() out = [k for k, v in data.items() if v.get("output_node")] diff --git a/core/fetch.py b/core/fetch.py index 7c64f21..1ee1908 100644 --- a/core/fetch.py +++ b/core/fetch.py @@ -15,10 +15,13 @@ def get_job_output(inputs, outputs): break return outputs[output_id].get("images", []) -def wait_for_job(remote_url, job_id): +def wait_for_job(remote_url, remote_bearer_token, job_id): fail = 0 + headers = {} + if remote_bearer_token and remote_bearer_token.strip(): + headers["Authorization"] = f"Bearer {remote_bearer_token.strip()}" while fail <= 3: - r = requests.get(f"{remote_url}/history", timeout=4) + r = requests.get(f"{remote_url}/history", headers=headers, timeout=4) try: r.raise_for_status() except Exception as e: @@ -40,7 +43,7 @@ def wait_for_job(remote_url, job_id): time.sleep(POLLING) raise OSError("Failed to fetch image from remote client!") -def fetch_from_remote(remote_url, job_id): +def fetch_from_remote(remote_url, remote_bearer_token, job_id): def img_to_torch(img): image = img.convert("RGB") image = np.array(image).astype(np.float32) / 255.0 @@ -51,10 +54,15 @@ def img_to_torch(img): return None images = [] + + headers = {} + if remote_bearer_token and remote_bearer_token.strip(): + headers["Authorization"] = f"Bearer {remote_bearer_token.strip()}" + for i in wait_for_job(remote_url, job_id): img_url = f"{remote_url}/view?filename={i['filename']}&subfolder={i['subfolder']}&type={i['type']}" - ir = requests.get(img_url, stream=True, timeout=16) + ir = requests.get(img_url, headers=headers, stream=True, timeout=16) ir.raise_for_status() img = Image.open(ir.raw) images.append(img_to_torch(img)) diff --git a/nodes/advanced.py b/nodes/advanced.py index 18f258a..308fe6f 100644 --- a/nodes/advanced.py +++ b/nodes/advanced.py @@ -73,6 +73,10 @@ def INPUT_TYPES(s): "multiline": False, "default": "http://127.0.0.1:8288/", }), + "remote_bearer_token": ("STRING", { + "multiline": False, + "default": "", + "tooltip": "Optional Bearer token for authenticated remote ComfyUI servers (e.g., for ComfyUI-Login)", "batch_override": ("INT", {"default": 0, "min": 0, "max": 8}), "enabled": (["true", "false", "remote"],{"default": "true"}), "outputs": (["final_image", "any"],{"default":"final_image"}), @@ -85,7 +89,7 @@ def INPUT_TYPES(s): CATEGORY = "remote/advanced" TITLE = "Queue on remote (worker)" - def queue(self, remote_chain, remote_url, batch_override, enabled, outputs): + def queue(self, remote_chain, remote_url, remote_bearer_token, batch_override, enabled, outputs): current_offset = remote_chain["seed_offset"] remote_chain["seed_offset"] += 1 if batch_override == 0 else batch_override if enabled == "false": diff --git a/nodes/simple.py b/nodes/simple.py index 872cca4..56d2d70 100644 --- a/nodes/simple.py +++ b/nodes/simple.py @@ -28,6 +28,7 @@ def INPUT_TYPES(s): def fetch(self, final_image, remote_info): out = fetch_from_remote( remote_url = remote_info.get("remote_url"), + remote_bearer_token = remote_info.get("remote_bearer_token"), job_id = remote_info.get("job_id"), ) if out is None: @@ -49,6 +50,10 @@ def INPUT_TYPES(s): "multiline": False, "default": "http://127.0.0.1:8288/", }), + "remote_bearer_token": ("STRING", { + "multiline": False, + "default": "", + "tooltip": "Optional Bearer token for authenticated remote ComfyUI servers (e.g., for ComfyUI-Login)", "batch_local": ("INT", {"default": 1, "min": 1, "max": 8}), "batch_remote": ("INT", {"default": 1, "min": 1, "max": 8}), "trigger": (["on_change", "always"],), @@ -66,7 +71,7 @@ def INPUT_TYPES(s): CATEGORY = "remote" TITLE = "Queue on remote (single)" - def queue(self, remote_url, batch_local, batch_remote, trigger, enabled, seed, prompt): + def queue(self, remote_url, remote_bearer_token, batch_local, batch_remote, trigger, enabled, seed, prompt): if enabled == "false": return (seed, batch_local, {}) if enabled == "remote": @@ -74,18 +79,19 @@ def queue(self, remote_url, batch_local, batch_remote, trigger, enabled, seed, p job_id = get_new_job_id() remote_url = clean_url(remote_url) - clear_remote_queue(remote_url) - dispatch_to_remote(remote_url, prompt, job_id) + clear_remote_queue(remote_url, remote_bearer_token) + dispatch_to_remote(remote_url, remote_bearer_token, prompt, job_id) remote_info = { "remote_url" : remote_url, + "remote_bearer_token": remote_bearer_token, "job_id" : job_id, } return (seed, batch_local, remote_info) @classmethod - def IS_CHANGED(self, remote_url, batch_local, batch_remote, trigger, enabled, seed, prompt): - uuid = f"W:{remote_url},B1:{batch_local},B2:{batch_remote},S:{seed},E:{enabled}" + def IS_CHANGED(self, remote_url, remote_bearer_token, batch_local, batch_remote, trigger, enabled, seed, prompt): + uuid = f"W:{remote_url},TOKEN:{remote_bearer_token},B1:{batch_local},B2:{batch_remote},S:{seed},E:{enabled}" return uuid if trigger == "on_change" else str(time.time()) NODE_CLASS_MAPPINGS = { From 63c0b9236de9ef8ae06b9899e2d54ade26ef65a2 Mon Sep 17 00:00:00 2001 From: Ruben Garcia Date: Wed, 11 Feb 2026 20:35:02 +0100 Subject: [PATCH 2/9] More tokens --- core/fetch.py | 2 +- nodes/advanced.py | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/core/fetch.py b/core/fetch.py index 1ee1908..4754f49 100644 --- a/core/fetch.py +++ b/core/fetch.py @@ -59,7 +59,7 @@ def img_to_torch(img): if remote_bearer_token and remote_bearer_token.strip(): headers["Authorization"] = f"Bearer {remote_bearer_token.strip()}" - for i in wait_for_job(remote_url, job_id): + for i in wait_for_job(remote_url, remote_bearer_token, job_id): img_url = f"{remote_url}/view?filename={i['filename']}&subfolder={i['subfolder']}&type={i['type']}" ir = requests.get(img_url, headers=headers, stream=True, timeout=16) diff --git a/nodes/advanced.py b/nodes/advanced.py index 308fe6f..5f05c3d 100644 --- a/nodes/advanced.py +++ b/nodes/advanced.py @@ -102,15 +102,17 @@ def queue(self, remote_chain, remote_url, remote_bearer_token, batch_override, e return (remote_chain, {}) remote_url = clean_url(remote_url) - clear_remote_queue(remote_url) + clear_remote_queue(remote_url, remote_bearer_token) dispatch_to_remote( remote_url, + remote_bearer_token, remote_chain["prompt"], remote_chain["job_id"], outputs, ) remote_info = { "remote_url" : remote_url, + "remote_bearer_token": remote_bearer_token, "job_id" : remote_chain["job_id"], } return (remote_chain, remote_info) From e88010a2d7dd66f6f684d725ccf8f93b2629f3b2 Mon Sep 17 00:00:00 2001 From: Ruben Garcia Date: Wed, 11 Feb 2026 20:44:35 +0100 Subject: [PATCH 3/9] extract header creation --- core/dispatch.py | 19 ++++++------------- core/fetch.py | 9 +++------ core/utils.py | 6 ++++++ 3 files changed, 15 insertions(+), 19 deletions(-) diff --git a/core/dispatch.py b/core/dispatch.py index 8310a4f..2e250e7 100644 --- a/core/dispatch.py +++ b/core/dispatch.py @@ -11,9 +11,7 @@ from .utils import clean_url, get_client_id def clear_remote_queue(remote_url, remote_bearer_token): - headers = {} - if remote_bearer_token and remote_bearer_token.strip(): - headers["Authorization"] = f"Bearer {remote_bearer_token.strip()}" + headers = get_auth_headers(remote_bearer_token) r = requests.get(f"{remote_url}/queue", headers=headers, timeout=4) r.raise_for_status() queue = r.json() @@ -43,10 +41,7 @@ def clear_remote_queue(remote_url, remote_bearer_token): break def get_remote_os(remote_url, remote_bearer_token): - headers = {} - if remote_bearer_token and remote_bearer_token.strip(): - headers["Authorization"] = f"Bearer {remote_bearer_token.strip()}" - + headers = get_auth_headers(remote_bearer_token) url = f"{remote_url}/system_stats" r = requests.get(url, headers=headers, timeout=4) r.raise_for_status() @@ -57,17 +52,14 @@ def get_output_nodes(remote_url, remote_bearer_token): # I'm 90% sure this could just use the # list from the host but better safe than sorry url = f"{remote_url}/object_info" - headers = {} - if remote_bearer_token and remote_bearer_token.strip(): - headers["Authorization"] = f"Bearer {remote_bearer_token.strip()}" - + headers = get_auth_headers(remote_bearer_token) r = requests.get(url, headers=headers, timeout=4) r.raise_for_status() data = r.json() out = [k for k, v in data.items() if v.get("output_node")] return out -def dispatch_to_remote(remote_url, prompt, job_id=f"{get_client_id()}-unknown", outputs="final_image"): +def dispatch_to_remote(remote_url, remote_bearer_token, prompt, job_id=f"{get_client_id()}-unknown", outputs="final_image"): ### PROMPT LOGIC ### prompt = deepcopy(prompt) to_del = [] @@ -143,10 +135,11 @@ def recursive_node_deletion(start_node): "job_id": job_id, } } + headers = get_auth_headers(remote_bearer_token) ar = requests.post( f"{remote_url}/prompt", data = json.dumps(data), - headers = {"Content-Type": "application/json"}, + headers = {"Content-Type": "application/json", **headers}, timeout = 4, ) ar.raise_for_status() diff --git a/core/fetch.py b/core/fetch.py index 4754f49..90698d7 100644 --- a/core/fetch.py +++ b/core/fetch.py @@ -4,6 +4,7 @@ import requests import numpy as np from PIL import Image +from .utils import get_auth_headers POLLING = 0.5 @@ -17,9 +18,7 @@ def get_job_output(inputs, outputs): def wait_for_job(remote_url, remote_bearer_token, job_id): fail = 0 - headers = {} - if remote_bearer_token and remote_bearer_token.strip(): - headers["Authorization"] = f"Bearer {remote_bearer_token.strip()}" + headers = get_auth_headers(remote_bearer_token) while fail <= 3: r = requests.get(f"{remote_url}/history", headers=headers, timeout=4) try: @@ -55,9 +54,7 @@ def img_to_torch(img): images = [] - headers = {} - if remote_bearer_token and remote_bearer_token.strip(): - headers["Authorization"] = f"Bearer {remote_bearer_token.strip()}" + headers = get_auth_headers(remote_bearer_token) for i in wait_for_job(remote_url, remote_bearer_token, job_id): img_url = f"{remote_url}/view?filename={i['filename']}&subfolder={i['subfolder']}&type={i['type']}" diff --git a/core/utils.py b/core/utils.py index 8002a37..8815de2 100644 --- a/core/utils.py +++ b/core/utils.py @@ -21,3 +21,9 @@ def clean_url(raw, multi=False): raw = raw.replace(' ', ',').replace('\n', ',').replace('\t', ',') urls = [x.rstrip('/') for x in raw.split(',') if x.strip()] return urls if multi else urls[0] + +def get_auth_headers(remote_bearer_token): + headers = {} + if remote_bearer_token and remote_bearer_token.strip(): + headers["Authorization"] = f"Bearer {remote_bearer_token.strip()}" + return headers From 09f2ecd8da08f1c72bb92626c9491f4e2ebac7da Mon Sep 17 00:00:00 2001 From: Ruben Garcia Date: Wed, 11 Feb 2026 20:47:13 +0100 Subject: [PATCH 4/9] Fix spaces --- core/dispatch.py | 12 ++++++------ core/fetch.py | 4 ++-- core/utils.py | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/core/dispatch.py b/core/dispatch.py index 2e250e7..8ecda31 100644 --- a/core/dispatch.py +++ b/core/dispatch.py @@ -12,7 +12,7 @@ def clear_remote_queue(remote_url, remote_bearer_token): headers = get_auth_headers(remote_bearer_token) - r = requests.get(f"{remote_url}/queue", headers=headers, timeout=4) + r = requests.get(f"{remote_url}/queue", headers=headers, timeout=4) r.raise_for_status() queue = r.json() @@ -24,7 +24,7 @@ def clear_remote_queue(remote_url, remote_bearer_token): r = requests.post( f"{remote_url}/queue", json = {"delete" : to_cancel}, - headers=headers, + headers=headers, timeout = 4, ) r.raise_for_status() @@ -34,14 +34,14 @@ def clear_remote_queue(remote_url, remote_bearer_token): r = requests.post( f"{remote_url}/interrupt", json = {}, - headers=headers, + headers=headers, timeout = 4, ) r.raise_for_status() break def get_remote_os(remote_url, remote_bearer_token): - headers = get_auth_headers(remote_bearer_token) + headers = get_auth_headers(remote_bearer_token) url = f"{remote_url}/system_stats" r = requests.get(url, headers=headers, timeout=4) r.raise_for_status() @@ -52,7 +52,7 @@ def get_output_nodes(remote_url, remote_bearer_token): # I'm 90% sure this could just use the # list from the host but better safe than sorry url = f"{remote_url}/object_info" - headers = get_auth_headers(remote_bearer_token) + headers = get_auth_headers(remote_bearer_token) r = requests.get(url, headers=headers, timeout=4) r.raise_for_status() data = r.json() @@ -135,7 +135,7 @@ def recursive_node_deletion(start_node): "job_id": job_id, } } - headers = get_auth_headers(remote_bearer_token) + headers = get_auth_headers(remote_bearer_token) ar = requests.post( f"{remote_url}/prompt", data = json.dumps(data), diff --git a/core/fetch.py b/core/fetch.py index 90698d7..db0147f 100644 --- a/core/fetch.py +++ b/core/fetch.py @@ -18,7 +18,7 @@ def get_job_output(inputs, outputs): def wait_for_job(remote_url, remote_bearer_token, job_id): fail = 0 - headers = get_auth_headers(remote_bearer_token) + headers = get_auth_headers(remote_bearer_token) while fail <= 3: r = requests.get(f"{remote_url}/history", headers=headers, timeout=4) try: @@ -54,7 +54,7 @@ def img_to_torch(img): images = [] - headers = get_auth_headers(remote_bearer_token) + headers = get_auth_headers(remote_bearer_token) for i in wait_for_job(remote_url, remote_bearer_token, job_id): img_url = f"{remote_url}/view?filename={i['filename']}&subfolder={i['subfolder']}&type={i['type']}" diff --git a/core/utils.py b/core/utils.py index 8815de2..8b478a7 100644 --- a/core/utils.py +++ b/core/utils.py @@ -23,7 +23,7 @@ def clean_url(raw, multi=False): return urls if multi else urls[0] def get_auth_headers(remote_bearer_token): - headers = {} - if remote_bearer_token and remote_bearer_token.strip(): - headers["Authorization"] = f"Bearer {remote_bearer_token.strip()}" - return headers + headers = {} + if remote_bearer_token and remote_bearer_token.strip(): + headers["Authorization"] = f"Bearer {remote_bearer_token.strip()}" + return headers From 05a570bcc991562229d5ce15fe1d67c6d3f7fe34 Mon Sep 17 00:00:00 2001 From: Ruben Garcia Date: Wed, 11 Feb 2026 20:49:21 +0100 Subject: [PATCH 5/9] newlines --- core/fetch.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/core/fetch.py b/core/fetch.py index db0147f..78ad528 100644 --- a/core/fetch.py +++ b/core/fetch.py @@ -53,9 +53,7 @@ def img_to_torch(img): return None images = [] - headers = get_auth_headers(remote_bearer_token) - for i in wait_for_job(remote_url, remote_bearer_token, job_id): img_url = f"{remote_url}/view?filename={i['filename']}&subfolder={i['subfolder']}&type={i['type']}" From 41a0139dbdb79f0c4f9ebc5bec42c840fd5d89c7 Mon Sep 17 00:00:00 2001 From: Ruben Garcia Date: Wed, 11 Feb 2026 20:53:39 +0100 Subject: [PATCH 6/9] more spacing issues --- core/dispatch.py | 4 ++-- nodes/advanced.py | 12 ++++++------ nodes/simple.py | 12 ++++++------ 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/core/dispatch.py b/core/dispatch.py index 8ecda31..037fa98 100644 --- a/core/dispatch.py +++ b/core/dispatch.py @@ -11,8 +11,8 @@ from .utils import clean_url, get_client_id def clear_remote_queue(remote_url, remote_bearer_token): - headers = get_auth_headers(remote_bearer_token) - r = requests.get(f"{remote_url}/queue", headers=headers, timeout=4) + headers = get_auth_headers(remote_bearer_token) + r = requests.get(f"{remote_url}/queue", headers=headers, timeout=4) r.raise_for_status() queue = r.json() diff --git a/nodes/advanced.py b/nodes/advanced.py index 5f05c3d..d936fd9 100644 --- a/nodes/advanced.py +++ b/nodes/advanced.py @@ -73,10 +73,10 @@ def INPUT_TYPES(s): "multiline": False, "default": "http://127.0.0.1:8288/", }), - "remote_bearer_token": ("STRING", { - "multiline": False, - "default": "", - "tooltip": "Optional Bearer token for authenticated remote ComfyUI servers (e.g., for ComfyUI-Login)", + "remote_bearer_token": ("STRING", { + "multiline": False, + "default": "", + "tooltip": "Optional Bearer token for authenticated remote ComfyUI servers (e.g., for ComfyUI-Login)", "batch_override": ("INT", {"default": 0, "min": 0, "max": 8}), "enabled": (["true", "false", "remote"],{"default": "true"}), "outputs": (["final_image", "any"],{"default":"final_image"}), @@ -105,14 +105,14 @@ def queue(self, remote_chain, remote_url, remote_bearer_token, batch_override, e clear_remote_queue(remote_url, remote_bearer_token) dispatch_to_remote( remote_url, - remote_bearer_token, + remote_bearer_token, remote_chain["prompt"], remote_chain["job_id"], outputs, ) remote_info = { "remote_url" : remote_url, - "remote_bearer_token": remote_bearer_token, + "remote_bearer_token": remote_bearer_token, "job_id" : remote_chain["job_id"], } return (remote_chain, remote_info) diff --git a/nodes/simple.py b/nodes/simple.py index 56d2d70..a2ff448 100644 --- a/nodes/simple.py +++ b/nodes/simple.py @@ -28,7 +28,7 @@ def INPUT_TYPES(s): def fetch(self, final_image, remote_info): out = fetch_from_remote( remote_url = remote_info.get("remote_url"), - remote_bearer_token = remote_info.get("remote_bearer_token"), + remote_bearer_token = remote_info.get("remote_bearer_token"), job_id = remote_info.get("job_id"), ) if out is None: @@ -50,10 +50,10 @@ def INPUT_TYPES(s): "multiline": False, "default": "http://127.0.0.1:8288/", }), - "remote_bearer_token": ("STRING", { - "multiline": False, - "default": "", - "tooltip": "Optional Bearer token for authenticated remote ComfyUI servers (e.g., for ComfyUI-Login)", + "remote_bearer_token": ("STRING", { + "multiline": False, + "default": "", + "tooltip": "Optional Bearer token for authenticated remote ComfyUI servers (e.g., for ComfyUI-Login)", "batch_local": ("INT", {"default": 1, "min": 1, "max": 8}), "batch_remote": ("INT", {"default": 1, "min": 1, "max": 8}), "trigger": (["on_change", "always"],), @@ -84,7 +84,7 @@ def queue(self, remote_url, remote_bearer_token, batch_local, batch_remote, trig remote_info = { "remote_url" : remote_url, - "remote_bearer_token": remote_bearer_token, + "remote_bearer_token": remote_bearer_token, "job_id" : job_id, } return (seed, batch_local, remote_info) From ee5197f9aa554196f8aebb3be75a448b5ab9c405 Mon Sep 17 00:00:00 2001 From: Ruben Garcia Date: Thu, 12 Feb 2026 16:22:30 +0100 Subject: [PATCH 7/9] Fix missing }), --- nodes/advanced.py | 1 + nodes/simple.py | 1 + 2 files changed, 2 insertions(+) diff --git a/nodes/advanced.py b/nodes/advanced.py index d936fd9..2220dd3 100644 --- a/nodes/advanced.py +++ b/nodes/advanced.py @@ -77,6 +77,7 @@ def INPUT_TYPES(s): "multiline": False, "default": "", "tooltip": "Optional Bearer token for authenticated remote ComfyUI servers (e.g., for ComfyUI-Login)", + }), "batch_override": ("INT", {"default": 0, "min": 0, "max": 8}), "enabled": (["true", "false", "remote"],{"default": "true"}), "outputs": (["final_image", "any"],{"default":"final_image"}), diff --git a/nodes/simple.py b/nodes/simple.py index a2ff448..7d1fb4c 100644 --- a/nodes/simple.py +++ b/nodes/simple.py @@ -54,6 +54,7 @@ def INPUT_TYPES(s): "multiline": False, "default": "", "tooltip": "Optional Bearer token for authenticated remote ComfyUI servers (e.g., for ComfyUI-Login)", + }), "batch_local": ("INT", {"default": 1, "min": 1, "max": 8}), "batch_remote": ("INT", {"default": 1, "min": 1, "max": 8}), "trigger": (["on_change", "always"],), From 182662ee84c4248215157c8612cdfefb8017a001 Mon Sep 17 00:00:00 2001 From: Ruben Garcia Date: Thu, 12 Feb 2026 16:25:35 +0100 Subject: [PATCH 8/9] Missing import --- core/dispatch.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/dispatch.py b/core/dispatch.py index 037fa98..9f1e9ad 100644 --- a/core/dispatch.py +++ b/core/dispatch.py @@ -8,7 +8,7 @@ from PIL import Image from copy import deepcopy -from .utils import clean_url, get_client_id +from .utils import clean_url, get_client_id, get_auth_headers def clear_remote_queue(remote_url, remote_bearer_token): headers = get_auth_headers(remote_bearer_token) From c527ffe01565bd5c2df9876b69e6c5404cdcf3e1 Mon Sep 17 00:00:00 2001 From: Ruben Garcia Date: Thu, 12 Feb 2026 16:34:36 +0100 Subject: [PATCH 9/9] Add missing parameter --- core/dispatch.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/dispatch.py b/core/dispatch.py index 9f1e9ad..28d55fb 100644 --- a/core/dispatch.py +++ b/core/dispatch.py @@ -113,7 +113,7 @@ def recursive_node_deletion(start_node): for i in to_del: del prompt[i] ### OS LOGIC ### - sep_remote = "\\" if get_remote_os(remote_url) == "nt" else "/" + sep_remote = "\\" if get_remote_os(remote_url, remote_bearer_token) == "nt" else "/" sep_local = "\\" if os.name == "nt" else "/" sem_input_map = { # class type : input to replace "CheckpointLoaderSimple" : "ckpt_name",