perf: fix memory leaks, optimize tracing logs, fix networking eof fragmentation bug in nvim-core and stub, and deduplicate json-rpc handlers

This commit is contained in:
Riz Ashraf committed 2026-09-22 04:31:50 +01:00
1 parent ce88bef45e
commit f76d8ccce8
23 files changed
+1373 -803

No files matched your search

+6 -12
View File
@@ -95,14 +95,11 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
while let Ok(msg) = rx.recv().await {
let log_prefix = logger::extract_log_prefix(&msg, false);
tracing::info!(
">>> [Stub] Forwarding {} to server (length: {}): {}",
">>> [Stub] Forwarding {} to server (length: {}): {}{}",
log_prefix,
msg.len(),
if msg.len() > 1000 {
format!("{}...", &msg[..1000])
} else {
msg.clone()
}
&msg[..std::cmp::min(msg.len(), 1000)],
if msg.len() > 1000 { "..." } else { "" }
);
if write
.send(tokio_tungstenite::tungstenite::Message::Text(msg))
@@ -120,14 +117,11 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
if let tokio_tungstenite::tungstenite::Message::Text(text) = msg {
let log_prefix = logger::extract_log_prefix(&text, true);
tracing::info!(
"<<< [Stub] Received {} from server (length: {}): {}",
"<<< [Stub] Received {} from server (length: {}): {}{}",
log_prefix,
text.len(),
if text.len() > 1000 {
format!("{}...", &text[..1000])
} else {
text.clone()
}
&text[..std::cmp::min(text.len(), 1000)],
if text.len() > 1000 { "..." } else { "" }
);
use tokio::io::AsyncWriteExt;
let mut stdout = tokio::io::stdout();