Skip to content

Agent panel overhaul, drag stability, session persistence fixes#368

Merged
Anton-Horn merged 3 commits into
mainfrom
feat/agent-panel-drag-session-overhaul
Jun 10, 2026
Merged

Agent panel overhaul, drag stability, session persistence fixes#368
Anton-Horn merged 3 commits into
mainfrom
feat/agent-panel-drag-session-overhaul

Conversation

@Anton-Horn

Copy link
Copy Markdown
Contributor

Big batch of related work:

Agent panel

  • Removed the marketplace. Settings view now only manages custom agents and prompts.
  • Chat sessions persist across remounts (new agentSessionRegistry), so dragging an agent panel no longer loses the thread.
  • New bundled cate-ask-user extension: the agent can ask the user a question and it renders as an inline card.

Drag and detach

  • Cross-window terminal detach reworked: PTYs buffer with an explicit transfer target and abort timers, so detaching to a window that is still being created no longer drops output.
  • Drag store tracks pendingDetach so the source panel doesn't flash during the IPC round-trip.
  • Panel removal unified in removePanelFromWindow with transfer vs close semantics (renamed from removeDetachedPanelRecords).

Session persistence

Misc

  • Default panel sizes from user settings via resolvePanelSize.
  • FS watcher uses the shared ignore matcher, drops the depth limit, stable subscriber ids.
  • companion.ts had a literal NUL byte in a regex that made git treat the file as binary; now escaped as \x00.
  • Lots of new tests (agent manager, shutdown, fs watch, terminal transfer, multi-canvas autosave, etc).

Full vitest suite passes (157 files, 1306 tests).

…ixes

- remove the agent marketplace; settings view now only manages custom agents/prompts
- persist agent chat sessions across remounts via agentSessionRegistry
- new cate-ask-user extension renders ask_user questions as inline cards
- rework cross-window terminal detach: PTY buffering with transfer targets and abort timers
- track pendingDetach in the drag store so sources don't flash during IPC round-trips
- gate session autosave during restore hydration and subscribe to all canvas stores per workspace (fixes empty-layout overwrites)
- unify panel removal in removePanelFromWindow with transfer vs close semantics
- resolve default panel sizes from user settings via resolvePanelSize
- fs watcher: shared ignore matcher, no depth limit, stable subscriber ids
- replace a literal NUL byte in companion.ts with \x00 so git stops treating it as binary
- add tests for agent manager, shutdown, fs watch, terminal transfer, autosave, and more
Renaming over an existing file on Windows fails with EPERM when it races
another replace of the same destination (or an AV scan holds the file).
Bounded win32-only retry with backoff, async and sync variants.
@Anton-Horn Anton-Horn merged commit 0b854b4 into main Jun 10, 2026
3 checks passed
@Anton-Horn Anton-Horn deleted the feat/agent-panel-drag-session-overhaul branch June 10, 2026 20:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant