Skip to content

v0.5.1 — the panel gets tests

Choose a tag to compare

@skurekjakub skurekjakub released this 31 Aug 13:26
· 14 commits to main since this release

Five things that were owed.

The panel had no tests

Nothing in ui/ was reachable from the suite, and three regressions shipped through that gap while 187 tests stayed green:

  • a highlight that could not be commented on
  • a loading screen that swallowed its own error
  • a view that removed the editor entirely

Each is now a named test in test/panel, rendered under jsdom. Reintroducing all three turns five of the nine red — which is the only evidence a regression test is worth keeping.

Fixed

  • A renamed path could strand the panel forever. editor_pending compared target.requested by string equality against whatever the host handed back. Any normalisation — slashes, case, relative to absolute — missed, and the panel then retried a string it could never match. It compares resolved paths now, and falls back to the single open proposal when there is exactly one.

    The first cut of that fallback returned the newest open proposal on any miss, and the e2e suite caught it straight away: a panel asking before its own proposal existed got handed somebody else's. With several open it now guesses nothing.

  • Tests no longer leak server processes when an assertion fails.

Added

  • The panel says when it is a different build from the server. The .mcpb and the Claude Code plugin update independently, and a stale half looks exactly like a bug in the other one — it cost two debugging sessions before anything said so.

Changed

  • Version lives in one module per half rather than as a literal inside unrelated code.
  • AGENTS.md records why a tool call must not wait for the panel — the measurements, the line of spec that makes it the host's choice, and why elicitation is not the way out.

196 tests.