Files
therealaleph ee54e03704 chore(release): v1.9.22 — complete H2 skip for tunnel_request single ops (#1041)
Bumps Cargo.toml v1.9.21 → v1.9.22. Ships @yyoyoian-pixel's PR #1041
which completes #1040 — v1.9.21 skipped H2 for tunnel_batch_request_to
but missed tunnel_request (single-op connect path). 5/5 h2_relay_request
call sites now audited; all full-tunnel paths use H1, relay paths keep
H2. 209 lib tests pass.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 16:05:51 +03:00

21 lines
2.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!-- see docs/changelog/v1.1.0.md for the file format: Persian, then `---`, then English. -->
**Fix: skip H2 برای \`tunnel_request\` (single ops) — completes [#1040](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/pull/1040)** ([PR #1041](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/pull/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](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/pull/1040)** ([PR #1041](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/pull/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.