Skip to content

Commit bc488d0

Browse files
committed
perf(vscode): smoother test explorer refreshes and live test updates
The Test Explorer used to flicker on every keystroke when the tree was expanded, slow to a crawl during multi-file edits (e.g. when an AI agent applies many edits at once), and sometimes show "AbortError" as a workspace entry at startup. Newly added or removed tests didn't appear in the tree until the refresh button was pressed. What's different now: - The tree only re-renders when the discovered tests actually change; identical re-discoveries leave the UI untouched. - One refresh runs at a time — newer edits cancel the in-flight subprocess instead of queuing up behind it. - Many edits in a short window collapse into a single workspace refresh. - External file changes no longer collapse expanded tree nodes. - Tests added or removed in a saved file appear/disappear immediately. - A workspace refresh no longer runs a redundant per-document discover for every open file. Also fixes a non-deterministic tag order from the discover command so the TS side can reliably detect real tag changes.
1 parent 8dc70e0 commit bc488d0

2 files changed

Lines changed: 362 additions & 156 deletions

File tree

packages/runner/src/robotcode/runner/cli/discover/discover.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -350,7 +350,7 @@ def visit_test(self, test: TestCase) -> None:
350350
start=Position(line=test.lineno - 1, character=0),
351351
end=Position(line=test.lineno - 1, character=0),
352352
),
353-
tags=list(set(normalize(str(t), ignore="_") for t in test.tags)) if test.tags else None,
353+
tags=sorted(set(normalize(str(t), ignore="_") for t in test.tags)) if test.tags else None,
354354
rpa=self._current.rpa,
355355
)
356356
except ValueError as e:

0 commit comments

Comments
 (0)