Skip to content

Commit 3766aa6

Browse files
committed
Display ComfyUI client id in the connection window #2059
1 parent 0a9b44b commit 3766aa6

File tree

3 files changed

+29
-1
lines changed

3 files changed

+29
-1
lines changed

ai_diffusion/comfy_client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ def __init__(self, url):
8585
self.url = url
8686
self.models = ClientModels()
8787
self._requests = RequestManager()
88-
self._id = str(uuid.uuid4())
88+
self._id = settings.comfyui_client_id
8989
self._active: Optional[JobInfo] = None
9090
self._features: ClientFeatures = ClientFeatures()
9191
self._supported_archs: dict[Arch, list[ResourceId]] = {}

ai_diffusion/settings.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
from dataclasses import dataclass
33
import os
44
import json
5+
import uuid
56
from enum import Enum
67
from pathlib import Path
78
from typing import NamedTuple, Optional, Any
@@ -208,6 +209,9 @@ class Settings(QObject):
208209
check_server_resources: bool
209210
_check_server_resources = Setting("Refuse connection if nodes or models are missing", True)
210211

212+
comfyui_client_id: str
213+
_comfyui_client_id = Setting("ComfyUI client ID", str(uuid.uuid4()))
214+
211215
selection_grow: int
212216
_selection_grow = Setting(
213217
_("Selection Grow"), 5, _("Selection area is expanded by a fraction of its size")

ai_diffusion/ui/settings.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
QWidget,
2020
QMessageBox,
2121
QCheckBox,
22+
QToolButton,
2223
)
2324
from PyQt5.QtCore import Qt, QMetaObject, QSize, QUrl, pyqtSignal
2425
from PyQt5.QtGui import QDesktopServices, QGuiApplication, QCursor, QFontMetrics
@@ -259,6 +260,21 @@ def __init__(self, server: Server):
259260
)
260261
self._supported_workloads.setOpenExternalLinks(True)
261262

263+
self._client_id = QWidget(self._connection_widget)
264+
client_id_layout = QHBoxLayout(self._client_id)
265+
client_id_layout.setContentsMargins(0, 0, 0, 0)
266+
self._client_id_label = QLabel(self._client_id)
267+
self._client_id_label.setStyleSheet(f"font-style: italic; color: {grey};")
268+
self._client_id_button = QToolButton(self._client_id)
269+
self._client_id_button.setToolButtonStyle(Qt.ToolButtonStyle.ToolButtonIconOnly)
270+
self._client_id_button.setIcon(Krita.instance().icon("edit-copy"))
271+
self._client_id_button.setToolTip(_("Copy to clipboard"))
272+
self._client_id_button.setAutoRaise(True)
273+
self._client_id_button.clicked.connect(self._copy_client_id)
274+
client_id_layout.addWidget(self._client_id_label)
275+
client_id_layout.addWidget(self._client_id_button)
276+
client_id_layout.addStretch()
277+
262278
anchor = _("View log files")
263279
open_log_button = QLabel(f"<a href='file://{util.log_dir}'>{anchor}</a>", self)
264280
open_log_button.setToolTip(str(util.log_dir))
@@ -270,6 +286,7 @@ def __init__(self, server: Server):
270286

271287
connection_layout.addLayout(status_layout)
272288
connection_layout.addWidget(self._supported_workloads)
289+
connection_layout.addWidget(self._client_id)
273290
connection_layout.addStretch()
274291

275292
self._layout.addWidget(self._server_managed)
@@ -336,9 +353,12 @@ def update_server_status(self):
336353
connection = root.connection
337354
self._cloud_widget.update_connection_state(connection.state)
338355
self._connect_button.setEnabled(connection.state != ConnectionState.connecting)
356+
self._client_id.setVisible(False)
339357
if connection.state == ConnectionState.connected:
340358
self._connection_status.setText(_("Connected"))
341359
self._connection_status.setStyleSheet(f"color: {green}; font-weight:bold")
360+
self._client_id_label.setText(f"Client ID: {settings.comfyui_client_id}")
361+
self._client_id.setVisible(True)
342362
elif connection.state == ConnectionState.connecting:
343363
self._connection_status.setText(_("Connecting"))
344364
self._connection_status.setStyleSheet(f"color: {yellow}; font-weight:bold")
@@ -411,6 +431,10 @@ def model_name(id: ResourceId, with_file=False):
411431
self._supported_workloads.setStyleSheet(style)
412432
self._supported_workloads.setText(text)
413433

434+
def _copy_client_id(self):
435+
if clipboard := QGuiApplication.clipboard():
436+
clipboard.setText(settings.comfyui_client_id)
437+
414438
def _open_logs(self):
415439
QDesktopServices.openUrl(QUrl.fromLocalFile(str(util.log_dir)))
416440

0 commit comments

Comments
 (0)