Skip to content

Hide third-party transcript vehicle conversations from the management view.#10779

Open
liliwilson wants to merge 2 commits into
masterfrom
lili/app-4418-restoring-3rd-party-cloud-agent-conversations-creates-ghost
Open

Hide third-party transcript vehicle conversations from the management view.#10779
liliwilson wants to merge 2 commits into
masterfrom
lili/app-4418-restoring-3rd-party-cloud-agent-conversations-creates-ghost

Conversation

@liliwilson
Copy link
Copy Markdown
Contributor

@liliwilson liliwilson commented May 12, 2026

Description

When restoring third-party conversation transcripts, we create a vehicle AIConversation that we use to enter the agent view.

We used to be rendering these AIConversation entries within management surfaces throughout the app, resulting in ghost entries in the management view that got created every time you tried to restore a CLI transcript.

We fix this here by tracking when an AIConversation is being used as a CLI vehicle (which we set based on the AgentEntryOrigin) and add these to the existing should_exclude_from_navigation.

We didn't see this for live sessions, even though they also use vehicle conversations, because we already check in should_exclude_from_navigation whether we are viewing a shared session.

Testing

Tested locally: https://www.loom.com/share/20b9e025ab9c49f49c21a929ab702d25

  • I have manually tested my changes locally with ./script/run

Agent Mode

  • Warp Agent Mode - This PR was created via Warp's AI Agent Mode

@cla-bot cla-bot Bot added the cla-signed label May 12, 2026
@liliwilson liliwilson force-pushed the lili/app-4418-restoring-3rd-party-cloud-agent-conversations-creates-ghost branch from be87744 to 898ff56 Compare May 12, 2026 23:09
@liliwilson liliwilson changed the base branch from master to fix-restored-cli-agent-pane-title May 12, 2026 23:10
@liliwilson liliwilson force-pushed the lili/app-4418-restoring-3rd-party-cloud-agent-conversations-creates-ghost branch from 898ff56 to 26e13e8 Compare May 12, 2026 23:11
ctx: &mut ViewContext<Self>,
) -> Option<AIConversationId> {
let origin = AgentViewEntryOrigin::ThirdPartyCloudAgent;
let conversation_id = BlocklistAIHistoryModel::handle(ctx).update(ctx, |history, ctx| {
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can create the convo within the agent view, this movement is supposed to be a noop change

@liliwilson liliwilson force-pushed the lili/app-4418-restoring-3rd-party-cloud-agent-conversations-creates-ghost branch from 26e13e8 to 9bdc7ac Compare May 12, 2026 23:14
@liliwilson liliwilson marked this pull request as ready for review May 12, 2026 23:14
@oz-for-oss
Copy link
Copy Markdown
Contributor

oz-for-oss Bot commented May 12, 2026

@liliwilson

I'm starting a first review of this pull request.

You can view the conversation on Warp.

I completed the review and no human review was requested for this pull request.

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

@liliwilson liliwilson force-pushed the lili/app-4418-restoring-3rd-party-cloud-agent-conversations-creates-ghost branch 2 times, most recently from 5721363 to 5487de9 Compare May 12, 2026 23:17
Copy link
Copy Markdown
Contributor

@oz-for-oss oz-for-oss Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overview

This PR adds a marker for third-party transcript vehicle conversations and excludes those conversations from navigation/management surfaces.

Concerns

  • The new is_cli_agent_transcript accessor does not compile: it takes &mut self, omits the -> bool return type, and is called from should_exclude_from_navigation(&self).

Verdict

Found: 1 critical, 0 important, 0 suggestions

Request changes

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

Comment thread app/src/ai/agent/conversation.rs
@liliwilson liliwilson requested a review from zachbai May 12, 2026 23:21
Base automatically changed from fix-restored-cli-agent-pane-title to master May 12, 2026 23:33
@liliwilson liliwilson force-pushed the lili/app-4418-restoring-3rd-party-cloud-agent-conversations-creates-ghost branch from 5487de9 to 5084a0c Compare May 12, 2026 23:36
);
if matches!(origin, AgentViewEntryOrigin::ThirdPartyCloudAgent) {
if let Some(conversation) = history_model.conversation_mut(&id) {
conversation.mark_as_cli_agent_transcript();
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lets just make this a constructor arg so u never need to reason about this state being mutable (which the API implies)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good call

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants