From a168138bfb6e83327e5be93bb955db398eb40958 Mon Sep 17 00:00:00 2001 From: Lawrence Chen <54008264+lawrencecchen@users.noreply.github.com> Date: Fri, 28 Aug 2026 05:28:42 -0700 Subject: [PATCH 1/3] test(chatmux-relay): reject empty option values --- cmux-tui/crates/chatmux-relay/src/cli.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/cmux-tui/crates/chatmux-relay/src/cli.rs b/cmux-tui/crates/chatmux-relay/src/cli.rs index 33184ecdedf8..63aac0f8e7e4 100644 --- a/cmux-tui/crates/chatmux-relay/src/cli.rs +++ b/cmux-tui/crates/chatmux-relay/src/cli.rs @@ -234,6 +234,7 @@ mod tests { &["--backend", "--code"][..], &["--backend", "--"][..], &["--allow-root", "--status"][..], + &["--config", ""][..], ] { let error = parse(args).expect_err("missing value refused"); assert!(error.message.contains("requires a value"), "{args:?}: {}", error.message); From 73f3fdca56fc6a58a720b14fca9be1e325766c79 Mon Sep 17 00:00:00 2001 From: Lawrence Chen <54008264+lawrencecchen@users.noreply.github.com> Date: Fri, 28 Aug 2026 05:28:58 -0700 Subject: [PATCH 2/3] fix(chatmux-relay): reject empty option values --- cmux-tui/crates/chatmux-relay/src/cli.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cmux-tui/crates/chatmux-relay/src/cli.rs b/cmux-tui/crates/chatmux-relay/src/cli.rs index 63aac0f8e7e4..5c7dc1cbf057 100644 --- a/cmux-tui/crates/chatmux-relay/src/cli.rs +++ b/cmux-tui/crates/chatmux-relay/src/cli.rs @@ -84,7 +84,9 @@ where if is_value_flag(argument) { let value = args.get(index + 1).map(String::as_str); - let usable = value.is_some_and(|value| value != "--" && !value.starts_with('-')); + let usable = value.is_some_and(|value| { + !value.is_empty() && value != "--" && !value.starts_with('-') + }); if !usable { return Err(missing_value(argument)); } From ba9a5581cf8a57dae070531ac27a151b7b780c38 Mon Sep 17 00:00:00 2001 From: Lawrence Chen <54008264+lawrencecchen@users.noreply.github.com> Date: Fri, 28 Aug 2026 05:38:05 -0700 Subject: [PATCH 3/3] style(chatmux-relay): format CLI parser --- cmux-tui/crates/chatmux-relay/src/cli.rs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/cmux-tui/crates/chatmux-relay/src/cli.rs b/cmux-tui/crates/chatmux-relay/src/cli.rs index 5c7dc1cbf057..97ca1364dc2f 100644 --- a/cmux-tui/crates/chatmux-relay/src/cli.rs +++ b/cmux-tui/crates/chatmux-relay/src/cli.rs @@ -84,9 +84,8 @@ where if is_value_flag(argument) { let value = args.get(index + 1).map(String::as_str); - let usable = value.is_some_and(|value| { - !value.is_empty() && value != "--" && !value.starts_with('-') - }); + let usable = value + .is_some_and(|value| !value.is_empty() && value != "--" && !value.starts_with('-')); if !usable { return Err(missing_value(argument)); }