Session replay batches were sent as raw uncompressed JSON, so a single large rrweb full snapshot (>900KB) was dropped client-side and anything near the server's 1MB body limit was rejected. Analytics events already gzip on the wire via encodeAnalyticsBody + a server-side gunzip; this ports that proven pattern to session replays. - shared: generalize encodeAnalyticsBody -> encodeGzipJsonBody and wire it into sendSessionReplayBatch (CompressionStream gzip, octet-stream, keepalive -> plain JSON, fallback -> plain JSON for Safari < 16.4). - template: replace the 900KB hard-drop with MAX_SINGLE_EVENT_BYTES (8MB, in sync with the server decompressed cap); oversized single events are now sent compressed instead of discarded. - backend: add maybeDecodeBinaryBody (gunzip with 1MB compressed / 8MB decompressed guards) via a .transform on the batch route body schema. Tests: client encoding tests (gzip/keepalive/fallback), an SDK >8MB drop test, and backend e2e tests (gzipped happy path, invalid gzip, oversized compressed 413, zip-bomb). Also turns green a dev test that already expected oversized events to be sent.
Hexclave
The user infrastructure platform.
Hexclave handles everything around your users: authentication, teams, payments, emails, analytics, and much more. Start in minutes on the hosted cloud. Your data is always yours to export and self-host.
Get started
Setting up Hexclave is one prompt. Paste this into your coding agent of choice:
Read skill.hexclave.com and help me setup hexclave in this project
For AI agents
If you're an AI coding agent, use your web fetch tool or curl the skill documentation for up-to-date integration instructions:
curl -sSL "https://skill.hexclave.com?question=<your-question>&context=<your-context>"
What's included
Hexclave ships as a catalog of apps you switch on as your product needs them. Each one is built on the same user model, and new apps land regularly.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Contributing
Hexclave is open source, and contributions are welcome. Read
CONTRIBUTING.md to get started, and say hello in
Discord before picking up anything large.
Found a security issue? Email [email protected].










