Fix dialog dismiss command parsing (#605)
This commit is contained in:
@@ -939,6 +939,13 @@ pub fn parse_command(args: &[String], flags: &Flags) -> Result<Value, ParseError
|
||||
}
|
||||
Ok(cmd)
|
||||
}
|
||||
Some("dismiss") => {
|
||||
let mut cmd = json!({ "id": id, "action": "dialog", "response": "dismiss" });
|
||||
if let Some(prompt_text) = rest.get(1) {
|
||||
cmd["promptText"] = json!(prompt_text);
|
||||
}
|
||||
Ok(cmd)
|
||||
}
|
||||
Some(sub) => Err(ParseError::UnknownSubcommand {
|
||||
subcommand: sub.to_string(),
|
||||
valid_options: VALID,
|
||||
|
||||
@@ -2880,7 +2880,12 @@ async fn handle_permissions(cmd: &Value, state: &DaemonState) -> Result<Value, S
|
||||
|
||||
async fn handle_dialog(cmd: &Value, state: &DaemonState) -> Result<Value, String> {
|
||||
let mgr = state.browser.as_ref().ok_or("Browser not launched")?;
|
||||
let accept = cmd.get("accept").and_then(|v| v.as_bool()).unwrap_or(true);
|
||||
let accept = cmd
|
||||
.get("response")
|
||||
.and_then(|v| v.as_str())
|
||||
.map(|r| r == "accept")
|
||||
.or_else(|| cmd.get("accept").and_then(|v| v.as_bool()))
|
||||
.unwrap_or(true);
|
||||
let prompt_text = cmd.get("promptText").and_then(|v| v.as_str());
|
||||
|
||||
mgr.handle_dialog(accept, prompt_text).await?;
|
||||
|
||||
Reference in New Issue
Block a user