diff --git a/scripts/install-server.sh b/scripts/install-server.sh index 46dc6a0..0729d75 100755 --- a/scripts/install-server.sh +++ b/scripts/install-server.sh @@ -30,7 +30,7 @@ else fi # 4. build (as the normal user – avoids root-owned Cargo.lock) -sudo -u "$ORIG_USER" bash -c "cd '$SRC_DIR/server' && cargo build --release" +sudo -u "$ORIG_USER" bash -c "cd '$SRC_DIR/server' && cargo clean && cargo build --release" # 5. install payload sudo install -Dm755 "$SRC_DIR/server/target/release/navka-server" /usr/local/bin/navka-server diff --git a/server/src/main.rs b/server/src/main.rs index 3985bd0..80bca2e 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -1,5 +1,5 @@ //! navka-server — receive HidReport and write to /dev/hidg0 -// main.rs +// sever/src/main.rs #![forbid(unsafe_code)] use std::{pin::Pin, sync::Arc, panic::AssertUnwindSafe}; @@ -104,9 +104,12 @@ impl Relay for Handler { error!("‼️ stream task panicked with unknown payload"); } } + info!("🔚 client closed the upstream"); }); - Ok(Response::new(Box::pin(ReceiverStream::new(rx)))) + /* This is a **write‑only** stream – we keep it open forever. */ + use futures_util::stream::pending; + Ok(Response::new(Box::pin(pending::>()))) } }