fix: removed unnecessary regenerate logic for sessions and use the same logic for all contexts; prevents a panic on empty message list

This commit is contained in:
2026-05-19 11:46:37 -06:00
parent eb2843d38a
commit 04498b96ec
2 changed files with 3 additions and 9 deletions
+3
View File
@@ -227,6 +227,9 @@ pub fn patch_messages(messages: &mut Vec<Message>, model: &Model) {
}
pub fn extract_system_message(messages: &mut Vec<Message>) -> Option<String> {
if messages.is_empty() {
return None;
}
if messages[0].role.is_system() {
let system_message = messages.remove(0);
return Some(system_message.content.to_text());
-9
View File
@@ -628,15 +628,6 @@ impl Session {
let mut messages = self.messages.clone();
if input.continue_output().is_some() {
return messages;
} else if input.regenerate() {
while let Some(last) = messages.last() {
if !last.role.is_user() {
messages.pop();
} else {
break;
}
}
return messages;
}
let mut need_add_msg = true;
let len = messages.len();