notedeck

One damus client to rule them all
git clone git://jb55.com/notedeck
Log | Files | Refs | README | LICENSE

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:
MCargo.lock | 2+-
Mcrates/notedeck_dave/Cargo.toml | 2+-
Mcrates/notedeck_dave/src/git_status.rs | 15++++++++++++---
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()))?;