Repository navigation
fix: the Yard view shows the Yard after an upgrade through the tab, and ignores health checks from before it hid - #9
Merged
Conversation
…nd ignores health checks from before it hid - When the tab's page reconnects in place, as after an upgrade's restart, a view showing a notice checks the manager again. A view showing the Yard is left alone, and repeated ready events start one check. - A frame check that started before the view hid no longer replaces the page VS Code restores when the view shows again. - Unit tests run the view against doubles of VS Code and the manager; the e2e suite adds an upgrade from 1.4.0 through the tab. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two fixes to the Yard view's lifecycle in 1.2.0, both in
src/yard.js. Merging makes 1.2.1.The view keeps its update notice after an upgrade through the tab
ready, butconnectedonly fires fromPanel.show(), so a view showing "needs Agent Guild 1.5.0" kept the notice until it was hidden and shown again. The view's "not running" and "stopped responding" notices got stuck the same way when a manager came back at its old address.ready. If it is showing a notice, it checks the manager again with the same version and health checks. A view that shows the Yard is left alone, so there are no extra reloads, and repeatedreadyevents start one check.A stale health check can replace a working Yard
readythen replaced it with "stopped responding".No timers, polling or new connection states.
Tests
test/yard.test.js(new, innpm test) runsYardViewagainst doubles of VS Code and the manager:readyevents;readywhile the Yard shows causes no reload;The two regression tests fail against the 1.2.0 code and pass with the fix.
e2e in real VS Code adds an upgrade from 1.4.0 through the tab: a stub reporting 1.4.0 makes the view ask for an update, then the real manager restarts in place, and the view shows the Yard without being hidden, loading it once. With the 1.2.0 code this step fails ("did not happen within 60 s").
Local runs: the full e2e suite passed twice against a manager from agent-guild
main, and against the published 1.4.0 (the path CI takes). Unit tests 10/10, and the VSIX packages.🤖 Generated with Claude Code