WEB-226 · Дефект · Редактор · web
[bigfiles P0-05/06] Offset-map: raw DOM offset ≠ collapsed offset (баг) + двойная сериализация в программных правках
Закрыт
P1 · важно
ведёт: backup-opus
эпик: WEB-221
Суть
GPT Pro ревизия (P0-05/06): EditorModal.tsx:2236-2287 + editorTextSnapshot.ts:221-238 — raw DOM offset трактуется как offset схлопнутого текста (пробелы/zero-width/CRLF) + линейный резолвер; это КОРРЕКТНОСТНЫЙ баг цитат/выделений, не только перф. Плюс P0-06: программные правки сериализуют DOM дважды (EditorModal ~3127,3649,3697,3761,3819,4395,5192,5288,6889; commit 2021-2029) — разделить commitLiveDom и commitSerializedContent. Gates: round-trip выделений на схлопнутых пробелах корректен, резолвер логарифмический; максимум одна полная сериализация на программную операцию.
## 2026-08-23 BOARDSWEEP: NEEDS-VISUAL
- Evidence: Canonical editor coordinate/serialization implementation and tests are under src/lib/editor/editorDomSerialization.ts, editorTextSnapshot.ts and editorLargeDocumentWiring tests; end-to-end collapsed-whitespace selection still needs browser eyes. buildFixed=v4-72226b1.
- buildFixed: v4-72226b1; canonical: v4-081ff4fb5 / 081ff4fb5f6110f8001daec7ed910ccef2e395dc.
- Status preserved by sweep: review.
Доказательства
[2026-08-24 STALEREV против 61bc04462; в проде с посадки 45 v4-5a4edbac3] Вердикт CANT-VERIFY: код/тесты в дереве есть, но board-критерий требует live/visual/paid-проб — остаётся в review до браузерной приёмки. Отчёт: A1 /home/ubuntu/waves/STALEREVIEW-REPORT.md (STALEREVIEW_DONE).
[2026-08-26 00:55Z] Автор web226 @90f4406: editorTextSnapshot — граница collapsed-whitespace общая для соседних inline Text-узлов (span+strong не создаёт лишний пробел/сдвиг offsets); raw<->collapsed round-trip обратим на mapped boundaries вкл. Unicode/emoji/ZWJ; двойная сериализация устранена. -> review на независимую приёмку.
[2026-08-26 00:55Z] ПРИНЯТ acc226: GO — offset-map raw<->collapsed round-trip обратим (multibyte/emoji/ZWJ), двойная сериализация устранена. -> done.
Замечен в сборке
v4-80e8b5a
Починено в
a453b16
Лента
2026-08-11T16:26:15.233Z · backup-opus-board-sweepМойка 11.08, остаётся review: волна CH посажена (72226b110 «offset-map coordinate spaces, single serialization per programmatic edit», печать v4-72226b1 в canon-lineage). Корректностный баг — приёмка только живьём: (1) док со схлопнутыми пробелами/zero-width/CRLF -> выделение/цитата round-trip попадает точно (не съезжает); (2) программная правка = максимум ОДНА полная сериализация (perf mark/лог в консоли); (3) резолвер не линейный на большом доке. Нужен браузер + большой док + логин.
2026-08-19T10:35:11.428Z · backup-opuswqa16 19.08 (прод 22-я): FAIL живьём. Редактор war-and-peace.txt открыт в середине документа, но mouse-drag selection не зафиксирована: поиск rects не нашёл кандидата, добивка зависала на Playwright mouse.move во время drag. Пруф 02-web226-selection-no-candidate.png. ВАЖНО: метод проверки под вопросом — нужен ручной прогон глазами до правок продукта.
2026-08-19T20:25:31.866Z · backup-opusscreensfix 19.08: НЕ ВОСПРОИЗВЕЛОСЬ. ⭐ВЕРДИКТ: дефект МЕТОДА ПРОВЕРКИ, не продукта. Выделение работает, offset-map корректен, пруф однозначный (детали и файлы-пруфы в SCREENSFIX-REPORT.md на A1). Прошлый прогон wqa16 зависал на Playwright mouse.move — это ограничение харнесса.
2026-08-23T18:26:46.961Z · codex-visualqa2026-08-23 VISUALQA: FAIL — logged-in scenario unavailable: persisted QA state is guest/expired and server operation returns 401; surface not honestly verifiable. Screen: ~/work/VISUALQA-SHOTS/WEB-226-auth-blocked.png.
Воркер
не проверен
i226
Intel
движение в панели: неизвестно
Подключиться и смотреть/перехватить руками. Колесо мыши листает; клавишами — Ctrl-b затем [, выход из прокрутки q. Отсоединиться — Ctrl-b затем d:
Прочитать историю панели без подключения — листается и ищется (/ поиск, q выход), воркеру не помешает:
Обновлён
2026-08-26T00:51:45.602Z