commit fe86926bf75c8dd4e5175fc67704d330c9823929
parent a613cc7e18c0f56beec4a131ecc9d67b5183390a
Author: William Casarin <jb55@jb55.com>
Date: Tue, 24 Feb 2026 17:32:19 -0800
dave: fix codex assistant messages not replicating to nostr
The Codex actor kept its response_tx alive between turns, so the main
loop never saw a channel disconnect and never finalized the assistant
message into a kind-1988 event. Drop the sender after turn/completed
so the same finalization path used by Claude fires for Codex sessions.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Diffstat:
1 file changed, 4 insertions(+), 0 deletions(-)
diff --git a/crates/notedeck_dave/src/backend/codex.rs b/crates/notedeck_dave/src/backend/codex.rs
@@ -381,6 +381,10 @@ async fn session_actor_loop<W: AsyncWrite + Unpin, R: AsyncBufRead + Unpin>(
}
current_turn_id = None;
+ // Drop the response channel so the main loop sees a
+ // Disconnected signal and finalizes the assistant message
+ // (builds kind-1988 event for Nostr replication).
+ drop(response_tx);
tracing::debug!("Turn complete for session {}", session_id);
}
SessionCommand::Interrupt { ctx } => {