Repository navigation
fix(messaging): keep hosts receiving after a lease expiry or reconnect - #586
Merged
Merged
Conversation
- A host whose router lease expired (laptop sleep) now registers again instead of staying connected but unreachable; repeated refusals wait longer each time. - A Codex app-server open timeout no longer crashes the host, and a null frame is a protocol error. - A Codex session start that fails prints and logs its real reason; a managed Codex that dies while connecting fails the start instead of leaving a host that looks alive. - memesh-host-acp keeps receiving messages after its router connection reconnects; a rejected delivery is recorded under a code made from the error, and an oversized message reports native_message_too_large. - Retrying a send with the same idempotency key after a principal fallback returns that message instead of delivering a second copy. - memesh message send --payload-stdin keeps a multi-byte character split across writes intact, and CLI subcommands refuse extra positional words instead of dropping them.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Agent-to-agent messaging could stop working without anyone noticing. This fixes the cases a whole-tree review proved:
stale_generation, the client ignored it, and the session stayed "connected" but unreachable. The client now registers again (waiting longer each time if the router keeps refusing).nullreply frame threw a TypeError. Both are handled.memesh-host-acprejected every message after its router connection reconnected. It now checks the live generation. A rejected delivery is recorded under a code made from the error (acp_stale_generation_error), and an oversized message to a Claude host now reportsnative_message_too_large, as documented.memesh message send --payload-stdinno longer garbles a multi-byte character split across writes, and subcommands refuse extra words (memesh remember Use OAuth with PKCEused to store only "Use").Verified locally:
npm run verifygreen for the final tree; each fix has a test that fails when the fix is reverted.Refs #532, #541