Split view for up to 4 agents, full-text history search, and bulk cleanup in History/Snapshots - #17
Merged
Conversation
…ctions Split view now shows 2-4 agents at once rather than exactly two: two side by side, three across, four as a 2x2 (past three, columns alone leave each pane too narrow for a transcript plus an input box). Every divider drags and repartitions only its two adjacent panes, so adjusting one split never nudges a third. Panes are added from the split bar's "Add pane" picker or a tab's "Add to split view"; the pane set and divider positions survive a restart, keyed by each agent's persist-key so a missing project folder drops one pane rather than shifting all of them. Panes still move between grid cells via Grid.SetColumn/SetRow and are never re-parented, so no WebView2 is torn down. Renames the feature from "Compare" to "Split view" throughout, UI and code (HasCompareSet -> SplitConfigured, _comparePanes -> _splitPanes), because comparing two models on one prompt is only one of its uses -- at three or four panes you are usually watching agents work in parallel. The split bar's two ComboBox pickers become MenuFlyout chips, which sidesteps the COMException 0x80070490 that rebuilding ComboBox item containers triggers. History and Snapshots gain per-project bulk delete: opening a group of two or more reveals "Delete all n" at the top of it. It confirms first, states the count, and says so explicitly when a search is filtering the group, since a group holds only what the panel is showing. Batched RemoveAll methods on both stores do one file write and one panel rebuild for the whole set. History search now reads each archived conversation's full text instead of only its title and 140-character preview, and quotes the matching line so a hit whose labels lack the term still explains itself. Metadata matching stays instant; the body scan is debounced and runs off the UI thread behind a per-session cache revalidated on the log's last-write time. History cards also show where a conversation left off alongside how it started, with existing rows backfilled from their logs on first open. The terminal glyph in the terminal panel's tab strip now collapses the panel, matching the chevron on the far right. Co-Authored-By: Claude Opus 5 (1M context) <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.
What this delivers
Five improvements to how you work with multiple agents and find past work.
1. Compare more than two agents at once
Before: the Split button showed exactly two agents side by side. Watching a third meant clicking back and forth.
Now: you can put up to four agents on screen together. The layout picks itself based on how many you add — two sit side by side, three sit across, and four arrange as a 2×2 grid. Every divider between them can be dragged to give one agent more room, and dragging one divider leaves the other panes where you put them.
You add an agent either from the Add pane button in the split bar, or by right-clicking any agent tab and choosing Add to split view. Your arrangement — which agents, and how you sized them — is remembered and comes back the next time you open the app.
Why four and not more: each pane holds a full conversation plus a message box. Past three across, panes get too narrow to be useful, which is why four wraps into a grid instead of squeezing further.
2. "Compare" is now called "Split view"
The feature was named Compare, which describes only one way people use it — running the same prompt past two models. In practice, once three or four agents are on screen, you're usually watching them work in parallel on different folders, not comparing their answers. The name now matches the full range of use, and the button that leaves the mode says Exit split view rather than just Exit, which previously didn't say what it was exiting.
3. Clear out a whole project's history or snapshots at once
Before: deleting ten saved conversations for a finished project meant ten separate deletions.
Now: opening a project group in History or Snapshots reveals a Delete all n button at the top of it. One confirmation clears the group.
Two safeguards worth knowing:
Single-item groups don't show the button at all; that item's own Delete already does the job.
4. Search inside past conversations, not just their titles
Before: History search only looked at a conversation's title, project, model, and the first ~140 characters. Searching for something discussed midway through a long conversation found nothing.
Now: it searches the full text of every archived conversation, and shows you the matching line on the card so you can see why a result came up — important when a match is in the middle of a conversation whose title says nothing about it.
Typing stays responsive: title and project matches appear instantly as before, and full-text results fill in a fraction of a second later. Each conversation is read from disk once and then cached, so searching doesn't get slower the more you type.
5. History cards show where you left off
Cards previously showed only the first thing you said in a conversation. Since conversations are labelled by agent name ("Agent 3") unless you rename them, that opening line is the only clue about what a conversation was about — so rather than replacing it, cards now show both: the opening message, and a dimmer last · line with your most recent message.
Together they answer the two questions you actually have when scanning History: what was this? and is it worth picking back up? Conversations already in your history are filled in automatically the first time you open the panel, so old and new entries look the same.
6. Smaller fix
The terminal icon on the left of the terminal panel's tab strip now closes the panel, matching the arrow on the far right. Previously it was decorative, so the icon that opened the terminal couldn't close it.
Scope and risk
User-visible surface: the agent tab area, the split bar, the History panel, and the Snapshots panel. Nothing changes about how agents run, what they can do, or how conversations are stored.
Data safety: the bulk-delete actions permanently remove conversations from disk, so both confirm first and state the count. No other change in this PR deletes anything.
Backwards compatibility: existing saved workspaces, conversations, and snapshots all load normally. Files written before these changes simply lack the new fields and fall back to previous behaviour; History entries get their new "last message" line filled in automatically on first open.
One known constraint: the split view caps at four agents by design, for the pane-width reason above. Raising it would need a different layout approach.
What to look at when reviewing