From 98a34a49ba0d83f5ac593bc4351141470430e3d2 Mon Sep 17 00:00:00 2001 From: GitHub Copilot Date: Thu, 29 Jan 2026 21:38:30 +0000 Subject: [PATCH] fix: dismiss typeahead after launching session from floating results When opening a session via the typeahead floating results panel, clear the search query and active selection so the panel dismisses immediately. Adds a test assertion ensuring the dashboard HTML includes the dismissal logic after opening a tile. --- src/webterm/local_server.py | 4 ++++ tests/test_local_server_unit.py | 2 ++ 2 files changed, 6 insertions(+) diff --git a/src/webterm/local_server.py b/src/webterm/local_server.py index cd5a2a5..73fd817 100644 --- a/src/webterm/local_server.py +++ b/src/webterm/local_server.py @@ -904,6 +904,10 @@ class LocalServer: function openTile(tile) {{ if (!tile || !tile.slug) return; window.open(`/?route_key=${{encodeURIComponent(tile.slug)}}`, `webterm-${{tile.slug}}`); + // Dismiss typeahead after launching from floating results. + searchQuery = ''; + activeResultIndex = -1; + renderFloatingResults(); }} function normalizeText(value) {{ diff --git a/tests/test_local_server_unit.py b/tests/test_local_server_unit.py index 88e9d9f..ff3b545 100644 --- a/tests/test_local_server_unit.py +++ b/tests/test_local_server_unit.py @@ -257,6 +257,8 @@ class TestLocalServerHelpers: response = await server._handle_root(request) assert "/?route_key=${encodeURIComponent(tile.slug)}" in response.text assert "visibilitychange" in response.text + assert "searchQuery = ''" in response.text + assert "activeResultIndex = -1" in response.text @pytest.fixture def config(self):