Skip to content

Commit 4eb455b

Browse files
committed
Improve first start
- try to connect to comfyui desktop version on port 8000 - don't show error for failed server discovery attempts
1 parent 48ee713 commit 4eb455b

File tree

5 files changed

+21
-7
lines changed

5 files changed

+21
-7
lines changed

.github/workflows/test.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
- name: Python
1313
uses: actions/setup-python@v5
1414
with:
15-
python-version: '3.10'
15+
python-version: '3.11'
1616
cache: 'pip'
1717
- name: Dependencies
1818
run: pip install -r requirements.txt
@@ -35,9 +35,9 @@ jobs:
3535
with:
3636
submodules: true
3737
- name: Python
38-
uses: actions/setup-python@v4
38+
uses: actions/setup-python@v5
3939
with:
40-
python-version: '3.10'
40+
python-version: '3.11'
4141
cache: 'pip'
4242
- name: Dependencies
4343
run: pip install -r requirements.txt

ai_diffusion/connection.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ def sign_in(self):
7676
async def _connect(self, url: str, mode: ServerMode, access_token=""):
7777
if self.state is ConnectionState.connected:
7878
await self.disconnect()
79-
self.error = None
79+
self.error = ""
8080
self.state = ConnectionState.connecting
8181
try:
8282
if mode is ServerMode.cloud:
@@ -121,7 +121,7 @@ async def disconnect(self): # type: ignore (hides QObject.disconnect)
121121
self._task = None
122122

123123
self._client = None
124-
self.error = None
124+
self.error = ""
125125
self.missing_resources = None
126126
self.state = ConnectionState.disconnected
127127
self._update_state()

ai_diffusion/root.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,11 +119,21 @@ async def autostart(self, signal_server_change: Callable):
119119
settings.server_url, ServerMode.cloud, settings.access_token
120120
)
121121
elif settings.server_mode in [ServerMode.undefined, ServerMode.external]:
122-
await connection._connect(settings.server_url, ServerMode.external)
122+
urls = [settings.server_url]
123+
if settings.server_mode is ServerMode.undefined:
124+
urls.append("127.0.0.1:8000") # ComfyUI Desktop default port
125+
for url in urls:
126+
await connection._connect(url, ServerMode.external)
127+
if connection.state is ConnectionState.connected:
128+
settings.server_url = url
129+
break
123130
if settings.server_mode is ServerMode.undefined:
124131
if connection.state is ConnectionState.connected:
125132
settings.server_mode = ServerMode.external
133+
settings.save()
126134
else:
135+
connection.state = ConnectionState.disconnected
136+
connection.error = ""
127137
settings.server_mode = ServerMode.cloud
128138
except Exception as e:
129139
log.warning(f"Failed to launch/connect server at startup: {e}")

ai_diffusion/ui/custom_workflow.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
from ..custom_workflow import CustomGenerationMode
1515
from ..client import TextOutput
1616
from ..jobs import JobKind
17-
from ..model import Model, ApplyBehavior
17+
from ..model import Model
1818
from ..properties import Binding, Bind, bind, bind_combo
1919
from ..style import Styles
2020
from ..root import root

ai_diffusion/ui/settings.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,8 @@ def update_connection_state(self, state: ConnectionState):
186186
can_connect = state in [ConnectionState.disconnected, ConnectionState.error]
187187
self.connect_button.setEnabled(can_connect)
188188
self.connect_button.setText(_("Connect") if can_connect else _("Connected"))
189+
self._connection_status.setText(_("Disconnected"))
190+
self._connection_status.setStyleSheet(f"color: {grey}; font-style:italic")
189191

190192
if state in [ConnectionState.error, ConnectionState.auth_error]:
191193
error = root.connection.error or "Unknown error"
@@ -279,6 +281,7 @@ def __init__(self, server: Server):
279281
self._layout.addWidget(self._server_stack)
280282

281283
root.connection.state_changed.connect(self.update_server_status)
284+
root.connection.error_changed.connect(self.update_server_status)
282285
self.update_server_status()
283286

284287
@property
@@ -302,6 +305,7 @@ def server_mode(self, mode: ServerMode):
302305
ServerMode.cloud: self._cloud_widget,
303306
ServerMode.managed: self._server_widget,
304307
ServerMode.external: self._connection_widget,
308+
ServerMode.undefined: self._connection_widget,
305309
}[mode]
306310
self._server_stack.setCurrentWidget(widget)
307311

0 commit comments

Comments
 (0)