web: legacy-сборка pdf.js — «Не удалось открыть PDF» в Яндекс Браузере (#90) #91

Merged
aep merged 1 commits from feat/90-pdfjs-legacy into main 2026-10-09 20:43:14 +03:00
Owner

Closes #90. Копия arm-web PR (feat/22-pdfjs-legacy → test, issue arm-web #22): контур разворачивается из web/.

Причина. Воркер обычной сборки pdfjs-dist 5.7 вызывает Uint8Array.prototype.toHex (Chromium 140+); в Яндекс Браузере getDocument падает «a.toHex is not a function», карточка «Исходный документ» показывает «Не удалось открыть PDF».

Что сделано. web/src/widgets/DocumentReview/pdfjs.ts — модуль и воркер из pdfjs-dist/legacy/build (с полифиллами); PdfPages импортирует его; регрессионный тест pdfjs.test.ts открывает PDF без Uint8Array.prototype.toHex.

Проверки (только web/, backend не тронут): vitest 122 теста зелёные; tsc --noEmit чисто; biome check src — 0 ошибок; rsbuild build собирается с legacy-воркером. make check-full не гонялся: изменения только во фронте, web-check выполнен по шагам (без npm install — node_modules симлинк на установленные зависимости той же package.json).

Rulings I made.

  • R-1: bounded, без OpenSpec change.
  • R-2: остальные расхождения arm-web ↔ arm-core/web не синхронизировались.

🤖 Generated with Claude Code

Closes #90. Копия arm-web PR (feat/22-pdfjs-legacy → test, issue arm-web #22): контур разворачивается из `web/`. **Причина.** Воркер обычной сборки pdfjs-dist 5.7 вызывает `Uint8Array.prototype.toHex` (Chromium 140+); в Яндекс Браузере `getDocument` падает «a.toHex is not a function», карточка «Исходный документ» показывает «Не удалось открыть PDF». **Что сделано.** `web/src/widgets/DocumentReview/pdfjs.ts` — модуль и воркер из `pdfjs-dist/legacy/build` (с полифиллами); `PdfPages` импортирует его; регрессионный тест `pdfjs.test.ts` открывает PDF без `Uint8Array.prototype.toHex`. **Проверки** (только `web/`, backend не тронут): vitest 122 теста зелёные; `tsc --noEmit` чисто; `biome check src` — 0 ошибок; `rsbuild build` собирается с legacy-воркером. `make check-full` не гонялся: изменения только во фронте, `web-check` выполнен по шагам (без `npm install` — node_modules симлинк на установленные зависимости той же `package.json`). **Rulings I made.** - R-1: bounded, без OpenSpec change. - R-2: остальные расхождения arm-web ↔ arm-core/web не синхронизировались. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
aep added 1 commit 2026-10-09 18:41:53 +03:00
Копия исправления arm-web #22 (контур разворачивается из web/). Обычная сборка pdfjs-dist 5.7 в воркере
вызывает Uint8Array.prototype.toHex (Chromium 140+), в Яндекс Браузере getDocument падает
«a.toHex is not a function». PdfPages берёт модуль и воркер из pdfjs-dist/legacy/build через
widgets/DocumentReview/pdfjs.ts; регрессионный тест открывает PDF без Uint8Array.prototype.toHex.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
aep merged commit fde860be7c into main 2026-10-09 20:43:14 +03: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: RSHB/arm-core#91
No description provided.