Repository navigation
Conversation
|
Exact client head: StandardsNo outstanding actionable findings. The core/adapter dependency boundary is preserved. Queue usage counters balance through delivery, failure, cancellation, fork and disconnect. Reconnect retains terminal outcomes; subscription admission and the disconnect reserve remain bounded, including repeated failed recovery and simultaneous terminal errors. Incremental receipt validation matches the server helper while leaving arbitrary contract data opaque. SpecNo outstanding actionable findings. Independent review verified the corrected reconnect clock, retained replay-required errors, persistent LIB consistency and bounded outcomes. Shared literal scenarios exercise the public core and codec. Receipt shape changes and the delayed-ACK legacy fixture regression passed independent Rust/Node and ESM/CJS checks. Total outstanding findings: Standards 0; Spec 0. Validation on this head:
No crate/npm publication or production endpoint activation was performed. |
|
Node baseline reconciliation is complete at
StandardsIndependent fixed-head review: 0 violations, 0 smell findings. Both workflows preserve pinned actions, permissions, timeouts and acceptance commands. Current engine metadata and documentation agree. SpecIndependent fixed-head review: 0 findings. The changes match the approved Node 24 minimum / Node 24+26 transition and Bun correction. PR #21 remains draft and issue #22 remains open. All eight exact-head jobs passed: JavaScript acceptance and Rust native acceptance. Native action/delta interoperability and the 37 wire vectors also passed locally with Node 24.19.0 and checksum-verified Node 26.12.1; Bun 1.4.4 typechecking passed. The 7,086-byte handoff patch from the original Refs #22. This runtime-baseline reconciliation does not establish native server endpoint/source/proxy/fanout acceptance and does not merge, publish or activate the native client. |
Adds an experimental Rust client for Hyperion's additive native WebSocket + JSON protocol. A standalone core has no third-party dependencies; the separate adapter supplies Tokio, tokio-tungstenite, Serde/JSON and Rustls with certificate and hostname verification.
The client supports typed action/delta requests, scoped subscription identities, bounded stream/connection credit, history/live ordering, cancellation, finite deadlines, irreversible delivery and inclusive replay. Reconnect preserves the earliest recovery block and verified LIB identity while invalidating old reversible buffers. Application acceptance ACKs remain distinct from durable processing.
The versioned contract and SHA256-pinned shared corpus cover 37 valid/invalid wire vectors, 24 state scenarios and two action/delta network sessions. Both Rust and native Node WebSocket peers run the network fixtures. Regression work fixed stale reconnect clocks, lost terminal errors, finality identity loss, repeated reuse of disconnect reserves, simultaneous-error loss, below-anchor/pre-acceptance data, and malformed known receipt metadata. A pre-existing legacy LIB fixture now waits for the replacement UUID; delayed ACKs reproduce its former race without changing legacy production code.
Validation:
Refs #20 and the investigation in #19. Server integration is coordinated in eosrio/hyperion-history-api#294: shared history delivery landed in #295, and native JSON/credit foundations are in #296. This PR remains a draft while the actual native endpoint, real routing/history cleanup and source/proxy/fanout/recovery acceptance are integrated. The Node peer is a conformance peer; production JavaScript recovery parity and Python are separate work. No crate/npm publication or production endpoint activation is included.