From 478237f48784f20a03243bd2650a07ee58b2b823 Mon Sep 17 00:00:00 2001 From: Nicole Rappe Date: Mon, 1 Dec 2025 01:57:46 -0700 Subject: [PATCH] Fixed Several Bugs/Errors from the Engine Tunnel Implementation --- Data/Engine/services/WebSocket/Agent/ReverseTunnel.py | 2 +- Data/Engine/services/WebSocket/__init__.py | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Data/Engine/services/WebSocket/Agent/ReverseTunnel.py b/Data/Engine/services/WebSocket/Agent/ReverseTunnel.py index 7fc24e64..7dbf1ce0 100644 --- a/Data/Engine/services/WebSocket/Agent/ReverseTunnel.py +++ b/Data/Engine/services/WebSocket/Agent/ReverseTunnel.py @@ -36,7 +36,7 @@ except Exception: # pragma: no cover - dependency resolved at runtime websockets = None ws_serve = None -from .....server import EngineContext +from ....server import EngineContext TunnelState = str diff --git a/Data/Engine/services/WebSocket/__init__.py b/Data/Engine/services/WebSocket/__init__.py index 2a06669d..174f9148 100644 --- a/Data/Engine/services/WebSocket/__init__.py +++ b/Data/Engine/services/WebSocket/__init__.py @@ -15,8 +15,8 @@ from dataclasses import dataclass, field from pathlib import Path from typing import Any, Callable, Dict, Optional -from flask_socketio import SocketIO from flask import session, request +from flask_socketio import SocketIO from ...database import initialise_engine_database from ...server import EngineContext @@ -26,7 +26,6 @@ from .Agent.ReverseTunnel import ( decode_frame, TunnelFrame, ) -from ..API import _make_db_conn_factory, _make_service_logger def _now_ts() -> int: @@ -51,6 +50,8 @@ class EngineRealtimeAdapters: service_log: Callable[[str, str, Optional[str]], None] = field(init=False) def __post_init__(self) -> None: + from ..API import _make_db_conn_factory, _make_service_logger # Local import to avoid circular import at module load + initialise_engine_database(self.context.database_path, logger=self.context.logger) self.db_conn_factory = _make_db_conn_factory(self.context.database_path) @@ -69,6 +70,8 @@ class EngineRealtimeAdapters: def register_realtime(socket_server: SocketIO, context: EngineContext) -> None: """Register Socket.IO event handlers for the Engine runtime.""" + from ..API import _make_db_conn_factory, _make_service_logger # Local import to avoid circular import at module load + adapters = EngineRealtimeAdapters(context) logger = context.logger.getChild("realtime.quick_jobs") tunnel_service = getattr(context, "reverse_tunnel_service", None)