From 8a67249ddbc1ca5f29b078517c9f5ec7c7a42ad8 Mon Sep 17 00:00:00 2001 From: Riz Ashraf Date: Sat, 26 Sep 2026 21:02:11 +0100 Subject: [PATCH] Fix OS socket routing in telemetry --- server/src/api/telemetry.rs | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/server/src/api/telemetry.rs b/server/src/api/telemetry.rs index 627ae8b..28266bf 100644 --- a/server/src/api/telemetry.rs +++ b/server/src/api/telemetry.rs @@ -18,13 +18,18 @@ pub async fn nvim_telemetry_handler( // 1. Update active_nvim.txt if FocusGained, BufEnter, or VimEnter if payload.event == "FocusGained" || payload.event == "BufEnter" || payload.event == "VimEnter" { - let profile = - std::env::var("USERPROFILE").unwrap_or_else(|_| "C:\\Users\\reazul.ashraf".into()); - let win_path = format!("{}\\.gemini\\active_nvim.txt", profile); - let _ = tokio::fs::write(&win_path, &payload.session_id).await; + let session = &payload.session_id; + let is_unix_socket = session.starts_with('/') || session.starts_with('~'); - let wsl_path = "\\\\wsl.localhost\\Ubuntu\\home\\riz\\.gemini\\active_nvim.txt"; - let _ = tokio::fs::write(wsl_path, &payload.session_id).await; + if is_unix_socket { + let wsl_path = "\\\\wsl.localhost\\Ubuntu\\home\\riz\\.gemini\\active_nvim.txt"; + let _ = tokio::fs::write(wsl_path, session).await; + } else { + let profile = + std::env::var("USERPROFILE").unwrap_or_else(|_| "C:\\Users\\reazul.ashraf".into()); + let win_path = format!("{}\\.gemini\\active_nvim.txt", profile); + let _ = tokio::fs::write(&win_path, session).await; + } } // 2. Broadcast to UI WebSockets