gabriel / muse public
fix dev
AI Agent gabriel · 50 days ago · Apr 22, 2026 · Diff

fix: create fresh httpx.Client per R2 presigned PUT to prevent SSLV3_ALERT_BAD_RECORD_MAC

Wall 3: ssl.OP_NO_TICKET was insufficient — first 13 PUTs succeed, 14th fails. The shared httpx.Client context accumulates TLS state across connections even with max_keepalive_connections=0 and OP_NO_TICKET. Moving _make_r2_client() call inside _presigned_put() gives each PUT a completely fresh TLS stack with zero shared state.

TDD: TestT17R2ClientPerPut (2 tests) — 17/17 pass in test_presign_upload.py.

sha256:4206ddcd041718a4d3a21a84c5d992cb624952b57ed5497dcb37c89d9e93cdb9 sha
sha256:e908c32ff0dc4fac8c376444c9feb6d1d9b9ccf3890d2884e702801a2e582dff snapshot
← Older Oldest on dev
All commits
Newer → Latest on dev

0 comments

No comments yet. Be the first to start the discussion.

To add a comment, use the Muse CLI: muse hub commit comment sha256:4206ddcd041718a4d3a21a84c5d992cb624952b57ed5497dcb37c89d9e93cdb9 --body "your comment"