-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Permalink
Choose a base ref
{{ refName }}
default
Choose a head ref
{{ refName }}
default
Comparing changes
Choose two branches to see what’s changed or to start a new pull request.
If you need to, you can also or
learn more about diff comparisons.
Open a pull request
Create a new pull request by comparing changes across two branches. If you need to, you can also .
Learn more about diff comparisons here.
base repository: facebook/proxygen
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main@{1day}
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
...
head repository: facebook/proxygen
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
- 5 commits
- 19 files changed
- 4 contributors
Commits on Jun 18, 2026
-
Split HPACK out of the Binary HTTP codec base
Summary: We're integrating OHAI/OHTTP (`facebook::tigon::ohai::TigonOhaiService`) into the WhatsApp Android consumer app. Enabling it pulls proxygen's Binary HTTP codec (`fbsource//xplat/proxygen:http_binary_codec`, RFC 9292) into the app's build-graph closure, which transitively dragged in proxygen's full HPACK/QPACK header-compression machinery (`http_codec_compress_hpack`) via `http_codec_common`. RFC 9292 Binary HTTP does not use HPACK — it encodes header fields as literal varint-length-prefixed name/value lines — so the compression machinery is dead weight in the Binary-HTTP-only path. This is a behavior-preserving structural/BUCK refactor; no protocol logic changes. Why the heavy target was pulled in: - `HTTPCodec.h` (the generic codec interface, base class of `HTTPBinaryCodec`) `#include`d `compress/HPACKCodec.h`, but only ever used `CompressionInfo` and `HeaderCodec::Stats`. `HPACKCodec.h` was just transitively providing `CompressionInfo` (see `HPACKCodec.h` -> `CompressionInfo.h`). - `HeaderDecodeInfo.h` (part of the codec base) needs the lightweight `HPACKHeaderName` and `HPACK::DecodeError`, which today only the heavy `http_codec_compress_hpack` target exported. Changes: - `HTTPCodec.h`: include `compress/CompressionInfo.h` directly instead of `compress/HPACKCodec.h`. - New lightweight targets `http_codec_compress_hpack_header_name` (`HPACKHeaderName.h`, mirroring the existing fbcode target) and `http_codec_compress_hpack_constants` (`HPACKConstants.h`); `http_codec_compress_hpack` re-exports both so existing consumers are unaffected. - Split `http_codec_common` into `http_codec_base` (minimal: the `HTTPCodec` interface, filters, settings, generic header-decode path; depends only on the lightweight header types, not HPACK) plus a thin `http_codec_common` = `http_codec_base` + `http_codec_compress_hpack`. The `http_codec_common` public surface is unchanged, so all existing HPACK-using consumers keep working transitively. - `http_binary_codec` now depends on `http_codec_base`, so it no longer pulls HPACK. - IWYU fixups exposed by removing the transitive `HPACKCodec.h` include: add `folly/io/Cursor.h` to `HTTPBinaryCodec.h` and `HTTP1xCodec.cpp`; forward-declare `HeaderIndexingStrategy` in `HTTPSessionBase.h` and `HTTPCodecFactory.h`. Reviewed By: lnicco, afrind Differential Revision: D108783647 fbshipit-source-id: 08c2792ee5598bc894b1ec28628e173af2c77529
Configuration menu - View commit details
-
Copy full SHA for 8a7b712 - Browse repository at this point
Copy the full SHA 8a7b712View commit details -
Summary: GitHub commits: WhatsApp/eqwalizer@ddfbd88 facebook/CacheLib@d8df0e8 facebook/fb303@0e3a688 facebook/fbthrift@6fb9a79 facebook/folly@730117c facebook/hermes@b7f7366 facebook/mvfst@46eeb42 f5e4f86 facebook/pyrefly@67a11d4 facebook/wangle@72836e7 facebookexperimental/edencommon@6931857 facebookexperimental/rust-shed@672422b facebookincubator/fizz@129a435 Reviewed By: bigfootjon fbshipit-source-id: e1bff95fa8aea125042cb8a2cf0a1577e7a4e9ce
Configuration menu - View commit details
-
Copy full SHA for 939fb84 - Browse repository at this point
Copy the full SHA 939fb84View commit details -
Fix proxygen DNS lib Android build break (gflags portability + IPv6 m…
…acro guards) Summary: Problem: The team-owned test `fbsource//xplat/ohai/test:ohai_clientAndroid` has been DISABLED_FAILING for 717 consecutive trunk runs (0 passes / 10 fails in the last week, 100% brokenness). It cannot build because two of its proxygen DNS dependencies fail to compile on Android. Impact: OHAI client test coverage on Android is lost, and the proxygen DNS library targets (`proxygen_dns_module`, `proxygen_dns_rfc6724`) cannot be built for Android by any consumer. The two exact Android (clang19) errors, reproduced on clean master: 1) proxygen_dns_module — lib/dns/DNSModule.cpp:13: fatal error: 'gflags/gflags.h' file not found 2) proxygen_dns_rfc6724 — lib/dns/Rfc6724.cpp:112 and :115: error: 'IPV6_ADDR_MC_SCOPE' / 'IN6_IS_ADDR_ULA' macro redefined [-Werror,-Wmacro-redefined] (Android bionic's <netinet/in6.h> already defines both) Root cause: 1) DNSModule.cpp includes the raw `<gflags/gflags.h>` and uses raw `DEFINE_int32`. Android has no real gflags, so the header is absent. Every other gflags user in xplat/proxygen (29+ files) uses the cross-platform shim `<folly/portability/GFlags.h>` with `FOLLY_GFLAGS_DEFINE_*`; DNSModule.cpp was the lone exception. The fbcode/Linux build hid this because real gflags is available there. 2) Rfc6724.cpp defines `IPV6_ADDR_MC_SCOPE` and `IN6_IS_ADDR_ULA` unconditionally. On Android, bionic already defines both with identical semantics, so redefining them is an error under -Werror. The same file already guards `IN_LOOPBACK` (#ifndef) and `IN6_IS_ADDR_6TO4` (#ifdef/#undef) for exactly this reason — these two macros were simply missed. Fix: 1) DNSModule.cpp: switch to `<folly/portability/GFlags.h>` and `FOLLY_GFLAGS_DEFINE_int32`, matching the rest of xplat/proxygen. Add the `//folly/portability:gflags` dep to the fbcode `dns_module` target (the xplat target already has it) and regenerate the OSS CMakeLists.txt. The `FLAGS_*` read sites are unchanged. 2) Rfc6724.cpp: wrap the two macro definitions in `#ifndef`, matching the existing `IN_LOOPBACK` guard two lines below. On Linux/Mac/Windows (which currently build) these macros are not system-defined, so behavior is byte-for-byte identical; only Android now uses bionic's identical definition. Both files are mirrored in fbcode/ and xplat/; the change is applied to both copies. Note: fully re-enabling `ohai_clientAndroid` also needs a one-line gflags fix in the ohai test's own `Client.cpp` (raw `DEFINE_uint32` -> `FOLLY_GFLAGS_DEFINE_uint32`), which is the same file the sibling AppleMac fix D108788237 already edits, so that piece is best folded into D108788237. This diff fixes the proxygen DNS library breaks, which are independent and block all Android consumers of proxygen DNS. Reviewed By: lnicco Differential Revision: D108804927 fbshipit-source-id: 11bc28d89a17e88de2280ef199ecd0605ceecfd1
Configuration menu - View commit details
-
Copy full SHA for 7adc3b8 - Browse repository at this point
Copy the full SHA 7adc3b8View commit details -
adds ::writeWtFramePrefix to WtUtils
Summary: this is temporary code duplication (since this logic exists in HqFramer already) -- the motivation here is to prevent build hell on mobile once we cut all uses to QuicWtSession, we can delete the implementation in HqFramer Reviewed By: kvtsoy Differential Revision: D108899854 fbshipit-source-id: 58644587bf47b7edaa7bc8abe90f6dfbd9ce13b3
Configuration menu - View commit details
-
Copy full SHA for 6fcbb1b - Browse repository at this point
Copy the full SHA 6fcbb1bView commit details -
remove HttpSession remenants of pubsub
Summary: some small remenants of pubsub (previously deleted) in HttpSession, removing them in this diff Reviewed By: afrind Differential Revision: D108768219 fbshipit-source-id: 220680620f9bc96a35bf14b6a5478e0780a754fe
Configuration menu - View commit details
-
Copy full SHA for 169760d - Browse repository at this point
Copy the full SHA 169760dView commit details
Loading
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine: git diff main@{1day}...main