Skip to content

Netcode: publishAndWait ack tracking + offline-queue dedupe + CI#1

Merged
lanmower merged 1 commit into
masterfrom
claude/eloquent-cerf-kg1yo1
Jun 21, 2026
Merged

Netcode: publishAndWait ack tracking + offline-queue dedupe + CI#1
lanmower merged 1 commit into
masterfrom
claude/eloquent-cerf-kg1yo1

Conversation

@lanmower

Copy link
Copy Markdown
Member
  • relay-pool: publishAndWait(event,{timeoutMs}) resolves true on first relay OK, false on reject/timeout; _acks Map keyed by event.id, flushed on disconnect. _handle OK branch now emits both ok and reject events.
  • relay-pool: offline pending queue deduped by event.id via _pendingIds Set so a reconnect drain never double-publishes; cap+TTL preserved.
  • test.js: testRelayPendingDedupe + testRelayPublishAck (fake-WS, offline).
  • .github/workflows/ci.yml: node --check src + node test.js on push/PR.
  • AGENTS.md: document publish-ack, pending-dedupe, CI.

Claude-Session: https://claude.ai/code/session_01LaZvEd4qSCXJZ1BpR9isdj

- relay-pool: publishAndWait(event,{timeoutMs}) resolves true on first relay OK,
  false on reject/timeout; _acks Map keyed by event.id, flushed on disconnect.
  _handle OK branch now emits both ok and reject events.
- relay-pool: offline pending queue deduped by event.id via _pendingIds Set so a
  reconnect drain never double-publishes; cap+TTL preserved.
- test.js: testRelayPendingDedupe + testRelayPublishAck (fake-WS, offline).
- .github/workflows/ci.yml: node --check src + node test.js on push/PR.
- AGENTS.md: document publish-ack, pending-dedupe, CI.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LaZvEd4qSCXJZ1BpR9isdj
@lanmower lanmower merged commit 01ab276 into master Jun 21, 2026
2 checks passed
@lanmower lanmower deleted the claude/eloquent-cerf-kg1yo1 branch June 21, 2026 09:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants