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) {
|
pub fn push(&mut self, hunk: String, cx: &mut AppContext) {
|
||||||
// Ensure that the assistant cannot accidentally execute commands that are streamed into the terminal
|
// 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
|
self.terminal
|
||||||
.update(cx, |terminal, _| terminal.input(input));
|
.update(cx, |terminal, _| terminal.input(input));
|
||||||
}
|
}
|
||||||
|
@ -1003,6 +1003,10 @@ impl TerminalTransaction {
|
||||||
terminal.input(CARRIAGE_RETURN.to_string())
|
terminal.input(CARRIAGE_RETURN.to_string())
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn sanitize_input(input: String) -> String {
|
||||||
|
input.replace(['\r', '\n'], "")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct Codegen {
|
pub struct Codegen {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue