From 3da3fc6c4c7c7eea704072a6cba8f0901849deeb Mon Sep 17 00:00:00 2001 From: Felix Martin Date: Wed, 10 Jun 2026 21:30:06 -0400 Subject: [PATCH] Polish tool-window methods: error format, logging, async test Co-Authored-By: Claude Opus 4.8 --- src/hqt/sessions/service.py | 3 ++- tests/test_sessions.py | 7 +++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/hqt/sessions/service.py b/src/hqt/sessions/service.py index aad2274..44fdf62 100644 --- a/src/hqt/sessions/service.py +++ b/src/hqt/sessions/service.py @@ -410,6 +410,7 @@ class SessionService: for an unknown tool, a missing binary, or a missing session/project. Returns the new window_id, or None if the tmux spawn fails. """ + log.info("Opening tool window: session=%s tool=%s", session_id, tool) spec = TOOLS.get(tool) if spec is None: raise ServiceError(f"Unknown tool '{tool}'") @@ -421,7 +422,7 @@ class SessionService: raise ServiceError("Session not found") project = db.get(Project, sess.project_id) if project is None: - raise ServiceError("Project no longer exists") + raise ServiceError(f"Project {sess.project_id} no longer exists") cwd = project.path label = f"{spec.label} ยท {project.name}" return await self.tmux.open_aux_window(spec.label, cwd, spec.command, label) diff --git a/tests/test_sessions.py b/tests/test_sessions.py index 437c825..12d5563 100644 --- a/tests/test_sessions.py +++ b/tests/test_sessions.py @@ -1574,10 +1574,9 @@ async def test_open_tool_window_unknown_session_raises(service, monkeypatch): await service.open_tool_window(999, "nvim") -def test_session_id_for_window_resolves_and_misses(service, db): - import asyncio - - asyncio.run(service.create_session(project_id=1, harness_name="claude-code")) +@pytest.mark.asyncio +async def test_session_id_for_window_resolves_and_misses(service, db): + await service.create_session(project_id=1, harness_name="claude-code") assert service.session_id_for_window("hqt-1") == 1 assert service.session_id_for_window("not-an-hqt-window") is None