assistant: Prevent possible execution of generated terminal commands (#17647)
Closes #17424 Release Notes: - Fixed an issue where commands generated by the terminal command could sometimes be executed without confirmation
This commit is contained in:
parent
bf64c0899f
commit
93b3520c11
1 changed files with 5 additions and 1 deletions
|
@ -988,7 +988,7 @@ impl TerminalTransaction {
|
|||
|
||||
pub fn push(&mut self, hunk: String, cx: &mut AppContext) {
|
||||
// Ensure that the assistant cannot accidentally execute commands that are streamed into the terminal
|
||||
let input = hunk.replace(CARRIAGE_RETURN, " ");
|
||||
let input = Self::sanitize_input(hunk);
|
||||
self.terminal
|
||||
.update(cx, |terminal, _| terminal.input(input));
|
||||
}
|
||||
|
@ -1003,6 +1003,10 @@ impl TerminalTransaction {
|
|||
terminal.input(CARRIAGE_RETURN.to_string())
|
||||
});
|
||||
}
|
||||
|
||||
fn sanitize_input(input: String) -> String {
|
||||
input.replace(['\r', '\n'], "")
|
||||
}
|
||||
}
|
||||
|
||||
pub struct Codegen {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue