From 71c45027f554c9f4a5bf4b2842e7c24280579e2e Mon Sep 17 00:00:00 2001 From: kassam Date: Mon, 20 Apr 2026 09:48:02 +0400 Subject: [PATCH] Update 2026-04-20 09:48:01 --- core/config_loader.py | 5 +++-- dashboard/routes/replay.py | 5 +++-- dashboard/routes/voice.py | 1 + 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/core/config_loader.py b/core/config_loader.py index b9f5bb4..5cfe859 100644 --- a/core/config_loader.py +++ b/core/config_loader.py @@ -18,12 +18,13 @@ editor, commented via "_comment" keys. No third-party dep. from __future__ import annotations import json -import logging import threading from pathlib import Path from typing import Any -log = logging.getLogger("config_loader") +from Project.Sanad.core.logger import get_logger + +log = get_logger("config_loader") # Resolved at first-load time (avoids circular import with config.py) _BASE_DIR: Path | None = None diff --git a/dashboard/routes/replay.py b/dashboard/routes/replay.py index d12e6d5..3f670bb 100644 --- a/dashboard/routes/replay.py +++ b/dashboard/routes/replay.py @@ -12,10 +12,12 @@ from fastapi.responses import FileResponse from pydantic import BaseModel from Project.Sanad.config import MOTIONS_DIR +from Project.Sanad.core.logger import get_logger from Project.Sanad.dashboard.routes._safe_io import ( safe_path_under, check_upload_size, atomic_write_bytes, ) +log = get_logger("replay_route") router = APIRouter() @@ -102,8 +104,7 @@ async def test_replay(payload: ReplayRequest): try: await asyncio.to_thread(arm.replay_file, str(path), payload.speed) except Exception: - from Project.Sanad.core.logger import get_logger - get_logger("replay_route").exception("Test replay failed") + log.exception("Test replay failed") task = asyncio.create_task(_run()) _BG_TASKS.add(task) diff --git a/dashboard/routes/voice.py b/dashboard/routes/voice.py index bd894f5..bf5bdc4 100644 --- a/dashboard/routes/voice.py +++ b/dashboard/routes/voice.py @@ -78,6 +78,7 @@ async def generate_speech(payload: TextPayload): try: await voice_client.connect() except Exception: + log.exception("Gemini reconnect failed in /generate") raise HTTPException(503, "Gemini not connected and reconnect failed.") # Check session ownership — TypedReplay or live loop may hold it if voice_client.session_owner is not None: