Repository navigation
One MainSequence across Code sessions; share and cache Agents and icons (0.4.22) - #31
Merged
Merged
Conversation
Every Code session ran its own copy of the pane, and the plugin store was read only at session boot, so switching to a session in another project showed its own stale environment, section and settings. The pane is now one across sessions; only Home's This session card belongs to a session. - Settings are shared as they change (no Save step), the environment and the open section with its details and searches follow in every session, and a sign-in, sign-out, MCP change or repository setup is re-read elsewhere. - Activity, the running counter and the status line cover every session's operations; only the running session can cancel one, and a session that stops reporting shows its running operation as Interrupted. Reads stay in their own session's Activity. - A session re-reads the store when its pane opens or draws, every two seconds while open, and before a MainSequence tool runs. The engine reads the store file from disk on every get and writes one key under a file lock (checked in the 2.1.308 engine), so sessions never overwrite each other's keys. Agents searched again in every session and their icons arrived batch after batch; on a slow backend the second batch (Sentinel, SentinelExecutor) timed out and never appeared. - The Agents listing is shared by every session for ten minutes and drawn at once; an older one is drawn while it is read again. Refresh reads now. - One worker serves up to eight agents, fetching four icons at a time, and batches run together. The worker keeps idle icons for ten minutes in one owner-only file per backend, environment and account under the MainSequence state folder, shared by every session's worker; failed reads are never kept and are retried once a minute later. - Icons are re-checked every ten minutes instead of every minute, which re-downloaded every icon from each open pane. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Why
Every Code session ran its own copy of the MainSequence pane, and the plugin store was read only when a session booted. Switching to a session in another project showed that session's own, often stale, environment, section and settings: choosing Production in one session did not reach the others. Agents also searched again in every session, and their icons arrived batch after batch. On a slow backend the second batch (Sentinel, SentinelExecutor) timed out and never appeared.
What changes
One pane across sessions. Only Home's This session card belongs to a session.
$.store.getreads the store file from disk on every call, and$.store.setmerges one key under a file lock, so sessions never overwrite each other's keys.Agents and icons, shared and cached for ten minutes.
claude-desktop/agent-icons), so every session's worker reads one cache. Failed reads are never kept and are retried once a minute later. Icons and tags never enter the plugin store.If-None-Match.Measured on a local backend
Verification
npm run release:checkwith the 2.1.308 engine: typecheck, 113 Node tests, docs, the 0.4.22 ZIP and distribution check, nativeplugin validateand 11 native tests all pass.Release
The version is 0.4.22 in
package.jsonand the lockfile. Merging does not publish: the annotated tagv0.4.22and the catalog update wait for owner approval.🤖 Generated with Claude Code