mirror of
https://github.com/logos-messaging/logos-delivery-rust-bindings.git
synced 2026-07-30 06:53:29 +00:00
The channel test only checked that create/send/close returned values, so it passed while every send failed downstream: channel_send returns a request id immediately and reports the outcome asynchronously, and with no listener on onChannelMessageError there was nothing to notice. Asking the question properly -- two nodes, one channel, does the payload arrive -- surfaced three things, none of them caused by the nim-ffi migration. Encryption was never installed, so no segment could ever be sent; that is fixed in the vendor by naming the mechanism at channel creation. Autosharding could not be switched on from here at all. A channel's shard is derived from its content topic, so without it the send cannot even auto-subscribe. num-shards-in-network exists on the kernel conf but WakuNodeConfig never exposed it, so it is added here. Ingress is still dropped below this layer, so channel_message_reaches_peer is #[ignore]d with the evidence in its doc comment rather than deleted or weakened into a test that cannot fail. The single-node test keeps its narrow scope and now says why it asserts nothing about arrival. The error listeners stay: a send that fails silently is exactly how this went unnoticed, and they turn a timeout into a diagnosis. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>