v1.9.22
• Fix: skip H2 برای `tunnel_request` (single ops) — completes #1040 (PR #1041 by @yyoyoian-pixel). v1.9.21's PR #1040 H2 رو از `tunnel_batch_request_to` skip کرد ولی `tunnel_request` (single-op path برای plain `connect` ops) جا موند. کاربرانی که sessionهای full-tunnel با single-op path داشتند هنوز ۱۶-۱۷s long-poll stalls میگرفتن. این PR fix رو complete میکنه — same shape: حذف H2 try/fallback/NonRetryable block، مستقیم H1 pool `acquire()`. همه ۵ تا call site `h2_relay_request` audit شدن (جدول در PR description) — relay-mode paths H2 رو نگه میدارن (apps_script users بدون change)، همه full-tunnel paths حالا H1-only. ۲۰۹ lib test still pass.
• Fix: skip H2 for tunnel_request (single ops) — completes #1040 (PR #1041 by @yyoyoian-pixel).
v1.9.21's PR #1040 skipped H2 for tunnel_batch_request_to but missed tunnel_request — the single-op path used for plain connect ops. Users on full-tunnel sessions that went through the single-op path still saw 16-17s long-poll stalls. This PR completes the fix: same shape, remove the H2 try/fallback/NonRetryable block from tunnel_request, go straight to H1 pool acquire().
All 5 h2_relay_request call sites audited:
| Call site | Function | Mode | H2 skipped? |
|---|---|---|---|
do_relay_once_with |
relay | Relay | No (correct — relay benefits from H2) |
relay() exit-node |
relay | Relay | No (correct) |
tunnel_request |
tunnel single op | Full tunnel | Yes (this release) |
tunnel_batch_request_to |
tunnel batch | Full tunnel | Yes (v1.9.21) |
tunnel_batch_request_with_timeout |
tunnel batch | Full tunnel | Yes (v1.9.21) |
No other full-tunnel paths use H2 after this fix. Relay-mode H2 stays — r0ar's controlled A/B in #962 confirmed h2 is strictly better for apps_script-mode users, and that path is unchanged.
209 lib tests still pass. domain_fronter.rs-only, -41 net lines.
What's Changed
- fix: skip H2 for tunnel_request (single ops) — completes #1040 by @yyoyoian-pixel in #1041
Full Changelog: v1.9.21...v1.9.22