From 5389cbd49a2646eb454374ce15716e6dbd634472 Mon Sep 17 00:00:00 2001 From: Wren <5217c5c2f7bfb4333e46d17c98a9255a52dadee18dcd43a43536b95e6776dfa0@buzz.block.builderlab.xyz> Date: Sun, 16 Aug 2026 01:46:13 -0400 Subject: [PATCH] docs(desktop): explain archive send teardown Co-authored-by: Wren <5217c5c2f7bfb4333e46d17c98a9255a52dadee18dcd43a43536b95e6776dfa0@buzz.block.builderlab.xyz> Signed-off-by: Wren <5217c5c2f7bfb4333e46d17c98a9255a52dadee18dcd43a43536b95e6776dfa0@buzz.block.builderlab.xyz> --- desktop/src-tauri/src/native_relay_client.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/desktop/src-tauri/src/native_relay_client.rs b/desktop/src-tauri/src/native_relay_client.rs index d63539883..5f9fb25aa 100644 --- a/desktop/src-tauri/src/native_relay_client.rs +++ b/desktop/src-tauri/src/native_relay_client.rs @@ -470,6 +470,9 @@ async fn run_connection( // Await the bounded archive channel to push back on the // socket read loop instead. Finite catalog requests are // fulfilled above and never enter this channel. + // Because this await is outside the session-cancel select, + // teardown depends on `run_sync` dropping its receiver; moving + // ownership or spawning that teardown can strand the socket loop. let sender = session.archive_events.lock().await.clone(); if let Some(sender) = sender { let _ = sender