notedeck

One damus client to rule them all
git clone git://jb55.com/notedeck
Log | Files | Refs | README | LICENSE

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:
Mcrates/notedeck_dave/src/backend/codex.rs | 4++++
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 } => {