Merge PR #13 with gzip-only WebConfig assets
Keep the graceful final-ACK TCP close and optional FEM control guards from pixitha's browser compatibility fixes. Replace Brotli negotiation and duplicate page assets with one gzip representation compressed by Google Zopfli 0.4.3 using 1,000 iterations. Compress the bootstrap, captive success, compact OTA, and static WiFi setup pages with the same validated build cache. Honor gzip quality values and wildcard precedence. Validate compressed OTA page evidence in the firmware capability gate, and add native and Python regressions plus CI coverage. Remove the unused Brotli build dependency. Validation: 54 native tests, 56 Python/browser checks, full V4.3 build and verified application flash. Actual V4 WiFi responses matched the generated gzip assets; 30 repeat downloads completed without reboot. Chromium loaded the setup and settings pages without script or transfer errors. Physical Android testing is pending because the Pi detects no phone over USB or mDNS.
This commit is contained in:
commit
02b8935794
23 files changed
+2674
-2084
No files matched your search
@@ -104,6 +104,15 @@ and memory limits.
|
||||
|
||||
## MQTT observer setup
|
||||
|
||||
WebConfig serves gzip only, including its bootstrap and captive-portal success
|
||||
pages. Static WiFi setup and browser OTA pages use the same format. Builds use
|
||||
Google Zopfli 0.4.3 with 1,000 iterations; validated results are cached under
|
||||
`.pio/gzip-html`. There is no Brotli dependency or second WebConfig page copy.
|
||||
Browsers decompress the pages automatically over ordinary HTTP. WebConfig
|
||||
returns HTTP 406 when a client explicitly excludes gzip. Its large page closes
|
||||
the TCP connection gracefully after the final acknowledged bytes so browsers
|
||||
do not report a completed download as aborted.
|
||||
|
||||
Most full-size ESP32 MQTT observer builds have the shared WebConfig portal. On a
|
||||
fresh device with no saved SSID:
|
||||
|
||||
|
||||
Reference in new issue
Block a user