fix(desktop): UTF-8 (bit-11) в именах файлов zip-пакета документов #147

Merged
ant merged 1 commits from fix/zip-utf8-flag into dev 2026-06-15 11:38:02 +00:00
Owner

Корень бага «в пакете нет файлов» в верификаторе: buildZipArchive (prepareDocumentArchive.ts) писал имена в UTF-8, но не выставлял general-purpose bit-11 (UTF-8) → ZIP-ридеры (включая верификатор на fflate) декодировали кириллицу как latin1 (мохибейк), и пути из manifest.json не находили записи.

Фикс: ставим bit-11 (0x0800) в local и central заголовках. Проверено: с флагом fflate декодирует имя 1-в-1.

Верификатор (C9S/verificator) уже сделан устойчивым к старым архивам без флага (восстановление latin1→utf8), но корень — здесь; с этим фиксом новые пакеты открываются корректно любым ридером.

Корень бага «в пакете нет файлов» в верификаторе: `buildZipArchive` (prepareDocumentArchive.ts) писал имена в UTF-8, но не выставлял general-purpose bit-11 (UTF-8) → ZIP-ридеры (включая верификатор на fflate) декодировали кириллицу как latin1 (мохибейк), и пути из manifest.json не находили записи. Фикс: ставим bit-11 (0x0800) в local и central заголовках. Проверено: с флагом fflate декодирует имя 1-в-1. Верификатор (C9S/verificator) уже сделан устойчивым к старым архивам без флага (восстановление latin1→utf8), но корень — здесь; с этим фиксом новые пакеты открываются корректно любым ридером.
claude added 1 commit 2026-06-15 10:59:11 +00:00
fix(desktop): zip-пакет документов — флаг UTF-8 (bit-11) в именах файлов
Typecheck / desktop (pull_request) Successful in 13m56s
Typecheck / controller (pull_request) Successful in 13m22s
c3086277f4
buildZipArchive писал имена в UTF-8, но general-purpose bit flag = 0 → читатели
(включая верификатор на fflate) декодировали кириллицу как latin1 (мохибейк), и
manifest.json (корректный UTF-8) не находил записи → верификатор «в пакете нет
файлов». Ставим bit-11 в local и central заголовках. Архив теперь корректно
открывается любым ZIP-ридером (Explorer/macOS/fflate).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
ant merged commit cabc589ce8 into dev 2026-06-15 11:38:02 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: C9S/mono#147