Skip to content

Toad-based frontend#142

Closed
nikomatsakis wants to merge 2 commits intosymposium-dev:mainfrom
nikomatsakis:toad-frontend
Closed

Toad-based frontend#142
nikomatsakis wants to merge 2 commits intosymposium-dev:mainfrom
nikomatsakis:toad-frontend

Conversation

@nikomatsakis
Copy link
Member

This PR builds out a frontend based around toad:

https://github.com/batrachianai/toad

Toad has a Copy-left license but I don't think that requires symposium to adopt similar terms since we are using it as an external process and not modifying it in any way.

One downside is that, because the frontend is basically a VT-100 emulator running in a iFrame, it's not so easy to "inject" text. However, I implemented a simple proxy that will inject some context from your IDE, such as whatever you currently have selected, around the prompt.

nikomatsakis and others added 2 commits February 12, 2026 15:42
Replace the MynahUI-based chat frontend (~4000 lines) with a minimal
extension that embeds Toad's web UI in an iframe panel.

The new extension:
- Spawns 'toad acp symposium-acp-agent run --serve' as a detached process
- Shows the Toad web UI in a panel tab alongside Terminal/Output/Problems
- Reconnects to a surviving Toad process on window reload
- Adds Opt+S Opt+S keybinding to focus the panel
- Reduces extension code from ~4000 lines to ~300 lines

Also updates:
- CI workflows: remove mynah-ui build steps
- Release workflow: remove mynah-ui build step
- Setup tool: remove vendor dependency installation

Co-authored-by: Claude <claude@anthropic.com>
- New crate: symposium-editor-context — ACP proxy that reads editor state
  (active file, selection) from a JSON file and injects into PromptRequests
- New: editorState.ts — VSCode extension tracker that writes editor state
  to temp file with atomic writes, bridged via SYMPOSIUM_EDITOR_STATE_FILE
- Proxy conditionally inserted into conductor chain (env var as capability signal)
- Rewrote VSCode extension architecture docs for Toad-based design
- Removed 8 obsolete docs (MynahUI message protocol, state persistence,
  webview lifecycle, tool authorization, testing implementation, etc.)
- Updated components.md, packaging.md, mods.md, SUMMARY.md

Co-authored-by: Claude <claude@anthropic.com>
@nikomatsakis nikomatsakis marked this pull request as ready for review February 12, 2026 21:52
@nikomatsakis
Copy link
Member Author

I don't think this is the right direction anymore (though toad rocks!).

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