This repository was archived by the owner on May 2, 2026. It is now read-only.
fix(pair): swap brotli decoder for GZIPInputStream#10
Merged
filinvadim merged 1 commit intomainfrom Apr 26, 2026
Merged
Conversation
The desktop frontend's brotli encoder ran into multiple browser-runtime issues (the npm `brotli` package crashes with "Browser is not defined" under WKWebView, and `brotli-wasm` requires async wasm bootstrapping that doesn't fit cleanly into the existing pipeline). The frontend has moved to gzip level 9 via pako. Mirror the change here: - QrPayloadCodec decompresses with `java.util.zip.GZIPInputStream` (RFC 1952), which ships with the JDK so the transport module loses an external dependency. - Drop `org.brotli:dec` from app/build.gradle and the version catalog.
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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
The desktop frontend's brotli encoder ran into multiple browser-runtime issues (the
brotlinpm package's asm.js encoder crashes withBrowser is not definedunder WKWebView, andbrotli-wasmneeds an async WASM bootstrap that complicates the pipeline). The frontend has moved to gzip level 9 via pako.Mirror the change here so the Android decoder matches the new wire format.
Change
QrPayloadCodec.kt: replaceorg.brotli.dec.BrotliInputStreamwithjava.util.zip.GZIPInputStream(RFC 1952). GZIPInputStream ships with the JDK, so the transport module loses an external dependency.org.brotli:decfromapp/build.gradleandgradle/libs.versions.toml.versionto 0.0.69.Pairs with
[Warp-net/warpnet#???] which swaps the desktop encoder from brotli to pako-gzip for the matching format.
Test plan
warpnet/core/handler/pair.gois byte-for-byte).https://claude.ai/code/session_011638L4REv78jEVUjQsniPz
Generated by Claude Code