commit 3fc2fa719ed1a08950abe63c0efc06ac1d2828c2
parent 170b7c43df570b8ffd52de96b77abe4705b19146
Author: William Casarin <jb55@jb55.com>
Date: Sat, 21 Feb 2026 18:50:30 -0800
fix: prevent console windows from flashing on Windows
Add CREATE_NO_WINDOW flag to git status polling in git_status.rs and
bump claude-agent-sdk-rs to a rev that includes the same fix for all
Claude CLI process spawns.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Diffstat:
3 files changed, 14 insertions(+), 5 deletions(-)
diff --git a/Cargo.lock b/Cargo.lock
@@ -1133,7 +1133,7 @@ dependencies = [
[[package]]
name = "claude-agent-sdk-rs"
version = "0.6.3"
-source = "git+https://github.com/jb55/claude-agent-sdk-rs?rev=246ddc912e61b0e6892532e74673b1e86db5e7b0#246ddc912e61b0e6892532e74673b1e86db5e7b0"
+source = "git+https://github.com/jb55/claude-agent-sdk-rs?rev=84afa5f#84afa5f3e1c3574f653971e3e6d020956eef20f1"
dependencies = [
"anyhow",
"async-stream",
diff --git a/crates/notedeck_dave/Cargo.toml b/crates/notedeck_dave/Cargo.toml
@@ -5,7 +5,7 @@ version.workspace = true
[dependencies]
async-openai = { version = "0.28.0", features = ["rustls-webpki-roots"] }
-claude-agent-sdk-rs = { git = "https://github.com/jb55/claude-agent-sdk-rs", rev = "246ddc912e61b0e6892532e74673b1e86db5e7b0"}
+claude-agent-sdk-rs = { git = "https://github.com/jb55/claude-agent-sdk-rs", rev = "84afa5f" }
bitflags = { workspace = true }
egui = { workspace = true }
sha2 = { workspace = true }
diff --git a/crates/notedeck_dave/src/git_status.rs b/crates/notedeck_dave/src/git_status.rs
@@ -184,9 +184,18 @@ fn parse_git_status(output: &str) -> GitStatusData {
}
fn run_git_status(cwd: &Path) -> GitStatusResult {
- let output = std::process::Command::new("git")
- .args(["status", "--short", "--branch"])
- .current_dir(cwd)
+ let mut cmd = std::process::Command::new("git");
+ cmd.args(["status", "--short", "--branch"])
+ .current_dir(cwd);
+
+ #[cfg(target_os = "windows")]
+ {
+ use std::os::windows::process::CommandExt;
+ const CREATE_NO_WINDOW: u32 = 0x08000000;
+ cmd.creation_flags(CREATE_NO_WINDOW);
+ }
+
+ let output = cmd
.output()
.map_err(|e| GitStatusError::CommandFailed(e.to_string()))?;