Files
MasterHttpRelayVPN-RUST/docs/changelog/v1.9.29.md
T
Shin (Former Aleph) f5ebb22895 release: prepare v1.9.29 (#1266)
Prepare v1.9.29 release for the Code.gs JSON parse regression fix.\n\nTests:\n- cargo test --lib
2026-05-17 19:50:46 +03:00

10 lines
2.0 KiB
Markdown

<!-- see docs/changelog/v1.1.0.md for the file format: Persian, then `---`, then English. -->
<div dir="rtl">
**رفع خطای JSON در `Code.gs` نسخه 1.9.28** ([PR #1265](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/pull/1265)، [#1245](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/issues/1245)، [#1253](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/issues/1253)، [#1261](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/issues/1261)). مسیر ساده `Code.gs` در بعضی درخواست‌ها پاسخ مقصد را خام برمی‌گرداند و کلاینت Rust آن را به‌جای envelope داخلی relay به عنوان JSON parse می‌کرد؛ نتیجه خطاهایی مثل `json: key must be a string` یا `no json in` بود. حالا `Code.gs` مثل `CodeFull.gs` پاسخ‌ها را داخل envelope `{s,h,b}` نگه می‌دارد و `req.r` فقط برای کنترل follow-redirect استفاده می‌شود. برای گرفتن این fix، فایل جدید `assets/apps_script/Code.gs` را در Apps Script جایگزین کنید و یک New version deploy بسازید.
</div>
---
**Fix the v1.9.28 `Code.gs` JSON parse regression** ([PR #1265](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/pull/1265), [#1245](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/issues/1245), [#1253](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/issues/1253), [#1261](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/issues/1261)). The simple `Code.gs` path could return the destination body verbatim for some requests, so the Rust client tried to parse arbitrary site HTML/JSON as the relay envelope and surfaced errors such as `json: key must be a string` or `no json in`. `Code.gs` now matches `CodeFull.gs`: normal relay responses stay wrapped as `{s,h,b}`, and `req.r` only controls redirect following. To get this fix, replace your Apps Script with the new `assets/apps_script/Code.gs` and deploy a New version.