Skip to content

Commit da8b81b

Browse files
committed
fix: Fix for Windows ProactorEventLoop
1 parent e782243 commit da8b81b

File tree

2 files changed

+23
-6
lines changed

2 files changed

+23
-6
lines changed

openadapt/app/tray.py

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,28 @@
33
usage: `python -m openadapt.app.tray` or `poetry run app`
44
"""
55

6+
import sys
7+
import asyncio
8+
import os
9+
10+
# Fix for Windows ProactorEventLoop
11+
if sys.platform == "win32":
12+
try:
13+
if isinstance(
14+
asyncio.get_event_loop_policy(), asyncio.WindowsProactorEventLoopPolicy
15+
):
16+
# Use WindowsSelectorEventLoopPolicy instead
17+
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
18+
except Exception as e:
19+
print(f"Failed to set event loop policy: {e}")
20+
621
from datetime import datetime
722
from functools import partial
823
from pprint import pformat
924
from threading import Event, Thread
1025
from typing import Any, Callable
1126
import inspect
1227
import multiprocessing
13-
import os
14-
import sys
1528
import time
1629

1730
from pyqttoast import Toast, ToastButtonAlignment, ToastIcon, ToastPosition, ToastPreset

openadapt/entrypoint.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,39 +43,43 @@ def start_loading_sequence(self) -> None:
4343

4444
# Configuration - 20%
4545
try:
46+
self.progress_updated.emit(20, "Loading configuration...")
47+
4648
from openadapt.config import print_config
4749

48-
self.progress_updated.emit(20, "Loading configuration...")
4950
print_config()
5051
except Exception as e:
5152
logger.error(f"Configuration error: {e}")
5253
return False
5354

5455
# Error reporting setup - 40%
5556
try:
57+
self.progress_updated.emit(40, "Configuring error reporting...")
58+
5659
from openadapt.error_reporting import configure_error_reporting
5760

58-
self.progress_updated.emit(40, "Configuring error reporting...")
5961
configure_error_reporting()
6062
except Exception as e:
6163
logger.error(f"Error reporting setup failed: {e}")
6264
return False
6365

6466
# Database context - 60%
6567
try:
68+
self.progress_updated.emit(60, "Loading database context...")
69+
6670
from openadapt.alembic.context_loader import load_alembic_context
6771

6872
load_alembic_context()
69-
self.progress_updated.emit(60, "Loading database context...")
7073
except Exception as e:
7174
logger.error(f"Database context loading failed: {e}")
7275
return False
7376

7477
# System tray setup - 80%
7578
try:
79+
self.progress_updated.emit(80, "Setting up system tray...")
80+
7681
from openadapt.app import tray
7782

78-
self.progress_updated.emit(80, "Setting up system tray...")
7983
tray_instance = tray.SystemTrayIcon(app=self.app)
8084

8185
except Exception as e:

0 commit comments

Comments
 (0)