diff --git a/client/src/app.rs b/client/src/app.rs index 11c37ce..9ba2f21 100644 --- a/client/src/app.rs +++ b/client/src/app.rs @@ -1,8 +1,6 @@ use anyhow::{Context, Result}; use navka_common::navka::{relay_client::RelayClient, HidReport}; use tokio::sync::mpsc; -// use tokio_stream::{wrappers::ReceiverStream, StreamExt}; -// use tonic::{Status, Request}; use tokio_stream::wrappers::ReceiverStream; use tonic::Request; use crate::input::keyboard::KeyboardAggregator; @@ -29,8 +27,6 @@ impl NavkaClientApp { // 2) Create a bidirectional streaming stub let (tx, rx) = mpsc::channel::(32); - // let outbound = ReceiverStream::new(rx).map(|report| Ok(report) as Result); - // let response = client.stream(Request::new(outbound)).await?; let outbound = ReceiverStream::new(rx); let response = client.stream(Request::new(outbound)).await?; let mut inbound = response.into_inner(); diff --git a/client/src/main.rs b/client/src/main.rs index 49ee1c9..1211c66 100644 --- a/client/src/main.rs +++ b/client/src/main.rs @@ -3,11 +3,37 @@ use anyhow::Result; use navka_client::NavkaClientApp; +use std::env; +use std::fs::OpenOptions; +use tracing_subscriber::fmt; +use tracing_subscriber::prelude::__tracing_subscriber_SubscriberExt; #[tokio::main] async fn main() -> Result<()> { - tracing_subscriber::fmt::init(); + let dev_mode = env::var("NAVKA_DEV_MODE").is_ok(); + + if dev_mode { + let file = OpenOptions::new() + .create(true) + .append(true) + .open("/tmp/navka-client.log")?; + + let subscriber = tracing_subscriber::registry() + .with(fmt::layer()) + .with( + fmt::layer() + .with_writer(file) + .with_ansi(false) + .with_target(true) + .with_level(true), + ); + + tracing::subscriber::set_global_default(subscriber)?; + tracing::info!("navka-client starting in dev mode: logs -> /tmp/navka-client.log"); + } else { + tracing_subscriber::fmt::init(); + } let mut app = NavkaClientApp::new()?; app.run().await -} +} \ No newline at end of file diff --git a/scripts/install-client.sh b/scripts/install-client.sh index dea6c54..e9e4f78 100755 --- a/scripts/install-client.sh +++ b/scripts/install-client.sh @@ -33,6 +33,9 @@ After=network-online.target Wants=network-online.target [Service] +Environment=RUST_LOG=debug +Environment=NAVKA_DEV_MODE=1 +Environment=NAVKA_SERVER_ADDR=http://64.25.10.31:50051 ExecStart=%h/.local/bin/navka-client Restart=on-failure