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):