Patch release for the changes shipped via #337 (Apps Script range probe gzip-decoded body handling) and #344 (Android Paste button on 13+) plus a CI fix that restores the Win7 i686 binary missing from v1.7.9 (Cargo.lock format mismatch with Rust 1.77). The Cargo.lock version=4 (Rust 1.78+) wasn't readable by the pinned 1.77.2 toolchain on the i686 job. Workflow now regenerates the lockfile with the pinned toolchain on that job only, leaving every other target unaffected. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
4.4 KiB
• رفع باگ "GET کامل غیرضروری وقتی Apps Script body gzip رو decode میکنه" (#337): وقتی Apps Script یه gzip body رو decode میکرد ولی Content-Range origin رو unchanged نگه میداشت، validation strict ما اون response رو reject میکرد + یک GET کامل دوباره میفرستادیم — quota Apps Script هدر میرفت. fix carve-out اضافه میکنه: اگر Content-Range proves entity کامل در probe اول گنجیده، 206 رو به 200 rewrite کنیم بدون refetch. validation strict برای real Range requestهای client + chunkهای بعدی حفظ شده. همچنین تشخیص quota error برای stringهای آلمانی (bandbreitenkontingent، datenübertragungsrate) و generic (bandwidth، transfer rate، limit exceeded) اضافه شد، تا deploymentهایی که رو quota accountهای Google غیرانگلیسی هستند بهدرستی blacklist بشن. ممنون از @freeinternet865
• رفع UI Android "Config detected in clipboard" که روی Android 13+ سپس از resume کار نمیکرد (#344): Android 13+ دسترسی clipboard background-to-foreground رو محدود میکنه — auto-detect ساکت empty میگرفت + banner ظاهر نمیشد. fix: یک دکمهٔ permanent Paste که روی tap clipboard رو میخونه (user interaction permission میده در همه versionها). دکمهٔ Export بهصورت icon-only تا row بهینه باقی بمونه. ممنون از @yyoyoian-pixel
• Fix CI workflow incompatibility for Win7 i686 build (#318 follow-up): job pinned-Rust-1.77.2 برای target Win7 i686 fail میکرد چون Cargo.lock (تولید شده توسط Rust ≥1.78) از lockfile version 4 استفاده میکرد + Rust 1.77 فقط version 3 رو میفهمه. regenerate Cargo.lock فقط روی job pinned اضافه شد — مهم: artifact mhrv-rs-windows-i686.zip که در v1.7.9 missing بود، در v1.7.10 reappear میکنه (Win7 SP1-loadable).
• Fix "unnecessary fallback full GET when Apps Script decodes a gzip body" (#337): when Apps Script decoded a gzip body but echoed the origin's compressed Content-Range unchanged, our strict validator rejected the response and we'd retry with a full GET — wasting Apps Script quota. The fix adds a carve-out: if Content-Range proves the entity already fits in the synthetic first probe, rewrite the 206 to a 200 and skip the refetch. Strict validation is still applied to real client Range requests and to later chunks. Also adds quota-error string matching for German (bandbreitenkontingent, datenübertragungsrate) and generic (bandwidth, transfer rate, limit exceeded) phrasings, so deployments hitting quota under non-English Google account locales now blacklist correctly. Thanks @freeinternet865.
• Fix Android "Config detected in clipboard" banner that silently broke on Android 13+ after resume (#344): Android 13+ restricts background-to-foreground clipboard access, so getPrimaryClip() during recomposition silently returned empty — the banner never showed. Fix: replace the auto-detect banner with a permanent Paste button that reads on tap (user interaction grants clipboard access on every Android version). Export button becomes icon-only to keep the row compact. Thanks @yyoyoian-pixel.
• Fix the CI Win7 i686 build that silently regressed in v1.7.9 (#318 follow-up): the pinned-Rust-1.77.2 job for the i686 target failed because Cargo.lock (generated by stable Rust ≥1.78) uses lockfile version 4, which Rust 1.77 doesn't understand. The job now regenerates the lockfile with the pinned toolchain before building. The mhrv-rs-windows-i686.zip artifact that disappeared from the v1.7.9 release page reappears in v1.7.10 (and now actually loads on Win7 SP1).