agent: Allow editing previous messages (#27965)
This PR adds the ability to edit previous user messages in the thread. Release Notes: - Agent: Added the ability to edit previous user messages (Preview-only).
This commit is contained in:
parent
0a132779a1
commit
ee33d313e2
1 changed files with 1 additions and 19 deletions
|
@ -861,19 +861,6 @@ impl ActiveThread {
|
||||||
cx.notify();
|
cx.notify();
|
||||||
}
|
}
|
||||||
|
|
||||||
fn last_user_message(&self, cx: &Context<Self>) -> Option<MessageId> {
|
|
||||||
self.messages
|
|
||||||
.iter()
|
|
||||||
.rev()
|
|
||||||
.find(|message_id| {
|
|
||||||
self.thread
|
|
||||||
.read(cx)
|
|
||||||
.message(**message_id)
|
|
||||||
.map_or(false, |message| message.role == Role::User)
|
|
||||||
})
|
|
||||||
.cloned()
|
|
||||||
}
|
|
||||||
|
|
||||||
fn messages_after(&self, message_id: MessageId) -> &[MessageId] {
|
fn messages_after(&self, message_id: MessageId) -> &[MessageId] {
|
||||||
self.messages
|
self.messages
|
||||||
.iter()
|
.iter()
|
||||||
|
@ -1001,8 +988,7 @@ impl ActiveThread {
|
||||||
return Empty.into_any();
|
return Empty.into_any();
|
||||||
}
|
}
|
||||||
|
|
||||||
let allow_editing_message =
|
let allow_editing_message = message.role == Role::User;
|
||||||
message.role == Role::User && self.last_user_message(cx) == Some(message_id);
|
|
||||||
|
|
||||||
let edit_message_editor = self
|
let edit_message_editor = self
|
||||||
.editing_message
|
.editing_message
|
||||||
|
@ -1209,10 +1195,6 @@ impl ActiveThread {
|
||||||
)
|
)
|
||||||
.child(
|
.child(
|
||||||
h_flex()
|
h_flex()
|
||||||
// DL: To double-check whether we want to fully remove
|
|
||||||
// the editing feature from meassages. Checkpoint sort of
|
|
||||||
// solve the same problem.
|
|
||||||
.invisible()
|
|
||||||
.gap_1()
|
.gap_1()
|
||||||
.when_some(
|
.when_some(
|
||||||
edit_message_editor.clone(),
|
edit_message_editor.clone(),
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue