From daf636fef7fd68bcb1e30cfb155883c3b831513c Mon Sep 17 00:00:00 2001 From: Ogulcan Celik Date: Wed, 3 Jun 2026 01:32:22 +0300 Subject: fix: preserve child argv flags after separator refs #383 --- src/remote.rs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src/remote.rs') diff --git a/src/remote.rs b/src/remote.rs index cd53344b..ce56ba8a 100644 --- a/src/remote.rs +++ b/src/remote.rs @@ -72,6 +72,10 @@ pub(crate) fn extract_remote_args( let mut index = 1; while index < args.len() { let arg = &args[index]; + if arg == "--" { + cleaned.extend_from_slice(&args[index..]); + break; + } if arg == "--handoff" { live_handoff = true; index += 1; @@ -1843,6 +1847,27 @@ mod tests { assert!(remote.live_handoff); } + #[test] + fn extract_remote_args_preserves_child_remote_options_after_separator() { + let args = vec![ + "herdr".into(), + "agent".into(), + "start".into(), + "repro".into(), + "--".into(), + "child".into(), + "--remote".into(), + "dev".into(), + "--remote-keybindings=server".into(), + "--handoff".into(), + ]; + + let (cleaned, remote) = extract_remote_args(&args).unwrap(); + + assert_eq!(cleaned, args); + assert!(remote.is_none()); + } + #[test] fn extract_remote_args_preserves_handoff_without_remote() { let args = vec!["herdr".into(), "update".into(), "--handoff".into()]; -- cgit v1.2.3