From 8f6ad817f10b151b647234882f2a0fef6d2b43d1 Mon Sep 17 00:00:00 2001 From: layla <111667698+04cb@users.noreply.github.com> Date: Thu, 5 Mar 2026 07:14:12 +0800 Subject: [PATCH] Fix dialog dismiss command parsing (#605) --- cli/src/commands.rs | 7 +++++++ cli/src/native/actions.rs | 7 ++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/cli/src/commands.rs b/cli/src/commands.rs index 4166159..438727b 100644 --- a/cli/src/commands.rs +++ b/cli/src/commands.rs @@ -959,6 +959,13 @@ pub fn parse_command(args: &[String], flags: &Flags) -> Result { + 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, diff --git a/cli/src/native/actions.rs b/cli/src/native/actions.rs index b1b032a..5a25eff 100644 --- a/cli/src/native/actions.rs +++ b/cli/src/native/actions.rs @@ -2880,7 +2880,12 @@ async fn handle_permissions(cmd: &Value, state: &DaemonState) -> Result Result { 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?;