adding client suicide & dev mode

This commit is contained in:
Brad Stein 2025-06-08 12:47:11 -05:00
parent 53e9f69356
commit a638d98373
3 changed files with 31 additions and 6 deletions

View File

@ -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::<HidReport>(32);
// let outbound = ReceiverStream::new(rx).map(|report| Ok(report) as Result<HidReport, Status>);
// 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();

View File

@ -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
}
}

View File

@ -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