Skip to content

feat: replace tungstenite with a shared WebSocket engine - #26

Merged
dancixx merged 2 commits into
mainfrom
feat/ws-engine
Oct 19, 2026
Merged

dancixx merged 2 commits into
mainfrom
feat/ws-engine

Conversation

@dancixx

@dancixx dancixx commented Oct 19, 2026 •

Copy link
Copy Markdown
Member

Replaces tokio-tungstenite and compio-ws with one WebSocket engine for Tokio and Compio. WebSocketUpgrade replaces TakoWs; sends are buffered, with explicit flush() support.

Includes GraphQL integration, updated examples and migration docs, bounded ping/pong buffering, close handling, repeated subprotocol headers, and buffer/payload validation.

Checks: workspace tests with ws,async-graphql and all features, Clippy, 79 WebSocket tests per runtime, Autobahn 247/247 on both runtimes, and 1.65M fuzz inputs without a crash.

Use the same bounded, buffered WebSocket protocol engine on Tokio and Compio,
including GraphQL integration, examples, migration docs and Autobahn CI.

Resolve review M1-M7: idempotent close replies, no deferred pong after close,
validated allocation limits, rejected oversized controls, accurate docs,
socket and driver tests on both runtimes, and concise Autobahn script docs.
Also cover zero write thresholds and valid gateway close code 1014.

Validation: standalone workspace tests with ws/async-graphql and all features;
all-features Clippy; 77 WebSocket tests on each runtime; Autobahn 247/247 on
Tokio and Compio; 1,648,034 fuzz inputs without a crash.
@vercel

vercel Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
tako Ready Ready Preview Oct 19, 2026 8:33am UTC

Request Review

@dancixx
dancixx merged commit 6732fe2 into main Oct 19, 2026
29 checks passed
@dancixx
dancixx deleted the feat/ws-engine branch October 20, 2026 21:13

This branch was successfully deployed

1 active deployment
Preview — b55f77f8 Deployed Oct 19, 2026 by vercel[bot]
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.

1 participant