atproto utils for zig zat.dev
atproto sdk zig

release: v0.3.18 master

Dependency bump only. websocket.zig 11e0f5c -> 73429df. The client set socket timeouts through std.posix.setsockopt, which maps BADF/NOTSOCK/INVAL to `unreachable` ("always a race condition"). Those are reachable on a connection socket: an upstream resetting around the handshake aborted the process from inside FirehoseClient.connectAndRead, and `unreachable` cannot be caught by the reconnect loop. Found downstream in stream, whose full suite aborted roughly one run in seven and is clean across 27 runs after. websocket.zig had already applied the same fix server-side; this is its client-side counterpart. zig fmt --check and zig build test pass. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>