feat: zstd compression — requires tunnel-node + CodeFull.gs update - 30% saving download - Full Tunnel#1314
Merged
therealaleph merged 2 commits intoMay 20, 2026
Conversation
Zero-failure capability negotiation: - Batch 1: client sends ops + zc:1, tunnel responds with zr + zc:1 - Batch 2+: client sends zops (compressed), tunnel responds with zr - Apps Script passes zc/zops/zr through opaquely Backward compatible: old clients/tunnel-nodes/scripts ignore unknown fields — compression never activates, nothing breaks. Also: INFLIGHT_ACTIVE 4→6 for better pipeline throughput. Requires tunnel-node + CodeFull.gs redeployment for activation. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
db8b4f5 to
eb3adaf
Compare
therealaleph
approved these changes
May 20, 2026
Owner
therealaleph
left a comment
There was a problem hiding this comment.
Reviewed and accepted. I added one small maintainer-side safety commit before merge: keep compressed batch logs redacted, and authenticate the tunnel batch request before decoding compressed zops. Local verification passed on the updated branch:
- cargo test --lib
- cargo build --release
- cargo build --bin mhrv-rs-ui --release --features ui
- cargo test (tunnel-node)
- cargo build --release (tunnel-node)
- Android debug build with Android Studio JBR
Docker local image build was attempted but Docker Desktop/daemon is not running on this Mac (/Users/dev/.docker/run/docker.sock missing), so container image verification will be covered by the release workflow.
Answered via LLM, Supervised @therealaleph
therealaleph
added a commit
that referenced
this pull request
May 20, 2026
## Summary - Bump mhrv-rs to v1.9.32 and Android versionCode/versionName. - Bump tunnel-node subcrate to 0.1.1 for the new compressed batch protocol surface. - Add Persian/English changelog for Full Tunnel zstd compression from PR #1314. ## Local verification - cargo test --lib - cargo build --release - cargo build --bin mhrv-rs-ui --release --features ui - cargo test (tunnel-node) - cargo build --release (tunnel-node) - JAVA_HOME="/Applications/Android Studio.app/Contents/jbr/Contents/Home" ANDROID_HOME="$HOME/Library/Android/sdk" ./gradlew :app:assembleDebug Docker local image build was attempted during PR verification, but Docker Desktop/daemon is not running on this Mac (`/Users/dev/.docker/run/docker.sock` missing). The release workflow tunnel-docker job will cover container publishing. --- Answered via LLM, Supervised @therealaleph
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
End-to-end zstd compression for the tunnel batch protocol. Requires updating both the tunnel-node and CodeFull.gs Apps Script deployment for compression to activate.
How it works
ops+zc:1flag → tunnel-node responds with compressedzr+zc:1zops→ tunnel-node responds withzrzcandzops/zrthrough opaquelyWhat needs updating
zopsdecompression +zrcompressionzcflag to tunnel-node andzopsopaque forwardzccapability flagBackward compatible — zero failures
zcsent → normalrresponse, nothing changeszc, old tunnel ignores it → normalr, compression never activateszcstripped by old script → tunnel never sees it, normalrMeasured results
Apps Script quota impact
UrlFetchApp.fetch()transfers 25-30% less data per batch → faster round-trips → more batches fit within the 6-minute execution windowTest plan
ops+zc, getszr+zc, switches tozops🤖 Generated with Claude Code