Repository navigation
Conversation
The bridge awaited the browser's local-network permission query and then set the link to refused and armed another retry without checking whether it had been switched off meanwhile. It now returns when stopped after that await.
An async step such as an agent command was recorded with whatever edit group a focused field or held pointer had open, so it merged into the user's own step and one undo reverted both. Async steps now record with no group.
The app swaps or moves the scan before the participants prepare a step, so a participant that threw left the scan on the other side of the step from the stores. A failing participant now has the app's part, and the participants before it, put back to the current side before the error is reported.
runImport shows a failure on screen instead of throwing it, so session.reset returned the state as if the session had been started over. The command now checks the error the import left and fails with it.
The duplicate-id check ran over every plugin in the build, so ?plugins=none could not open a build with a clash, and the installed list was set before any install ran, so a plugin whose install threw still counted as in use. Only enabled plugins are checked now, and a plugin that fails to install is logged and left out. Registrations it made before throwing are not undone, since install() returns no cleanup.
A change given up on at its timeout kept running after its history step closed, so what it changed late could land inside the next change's step. The queue now waits for the timed-out run to settle, or for one more of its timeout if it never does, before starting the next change.
A plugin's history section could take a key of the app's own snapshot or another participant's, and a project section a manifest key the app writes itself, silently overwriting one of them. Both now throw at registration. Command names were already checked; workspace and worker-plugin ids are left as they are.
58 of 65 tasks
This branch has not been deployed
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.
The agent command and history items from #34, rebased on 0.9.3, one commit per item, each with a regression test that fails without it:
Notes:
ctx.signal.install()throws is logged and left out. What it registered before throwing is not rolled back, sinceinstall()returns no cleanup.Build:
npm run buildpasses.npm test(3103),npm --prefix mcp test(127), the plugin boundary and units checks, andnpm run e2e:ciall pass.