WEB board

всеканоны и докиворкеры↗ iOS↗ Легаси
WEB-498 · Задача · — · web

P2 [редактор]: после закрытия окна «Запросити до документа» пользователя выбрасывает из редактора в чат с тетрадью (плюс расхождение: иконка обещает приглашение К ДОКУМЕНТУ, открывается шаринг ВСЕГО воркспейса)

Закрыт P2 ведёт: —
Суть
## ЭВОЛЮЦИЯ 04.09.2026 (карта для нулевого агента)
**Якорь прода:** живая линия **l103**, коммит **d91ebefe740ae83484c1de16710f2e6a68610432**, флип **13:51Z 04.09**. Раньше в этот же день: l101 `d825eb0d`, l102 `1b081c5a`. Ветка линии в репозитории-базе `/home/ubuntu/nc` на A1: `l103-line` (проверено `git branch -a --contains d91ebefe...` → `l103-line`).
**Доска:** живая доска — `web-board.sqlite` + HTTP API `http://127.0.0.1:8787/api/web/*` на M1 (`ssh poolpooly@192.168.1.74`). НЕ `board.sqlite` (это iOS/легаси, таблицы `issues`/`ios_issues`, 2225 строк, ключи другие).

### СЕЙЧАС — ЗАКРЫТО
Дефект owner-а: после закрытия окна «Запросити до документа» пользователя выбрасывало из редактора в режим чата.

### ЧТО СДЕЛАНО И ГДЕ СЕЛО
Починено, принято **живой браузерной проверкой всех ЧЕТЫРЁХ путей закрытия** диалога (не одного). Село в **l103** коммитом **`4272863b`** — `fix editor workspace share modal acceptance`.
Проверено на A1: `git -C /home/ubuntu/nc log --oneline -1 4272863b` → `4272863b fix editor workspace share modal acceptance`.
Линия прода на момент записи: l103 = `d91ebefe740ae83484c1de16710f2e6a68610432`, флип 13:51Z 04.09.

### ЧТО ОСТАЛОСЬ
Ничего в коде. Единственное — при следующем регрессе проверять все четыре пути закрытия, а не только крестик.

### ЛОВУШКА ДЛЯ НОВИЧКА
Диалог закрывается несколькими способами (крестик, Esc, клик вне окна, кнопка действия). Приёмка «нажал крестик — не выбросило» здесь недостаточна: дефект жил ровно в остальных путях. Приёмка UI требует глазной проверки в браузере, а не только сборки.

---

## ДОПИСКА 05.09.2026 ~00:15 IST (18:45Z 04.09) — координатор: вердикты дня 04.09
Правила обогащения: WEB-449. Эта секция ДОПИСАНА в конец (append-only), ничего выше не перезаписано.

**Ленты дня 04.09 (время UTC / IST = UTC+5:30):**
- **l101 `d825eb0d`** — флип **08:47Z / 14:17 IST**. Девять ранее принятых изменений + фикс realtime-сокета, который отдавал 500 с l96.
- **l102 `1b081c5a`** — флип **11:18Z / 16:48 IST**. Этап C движка, фикс окна цитат, мобильные боковые панели, преflight окна восстановления бэкапа.
- **l103 `d91ebefe`** — флип **13:51Z / 19:21 IST**. Перебазированная работа по ролям, фикс диалога приглашения, фикс контура бэкапа.
- **l104 `4d858be7`** — флип **18:03Z / 23:33 IST**. Проводка движка, регрессионный тест телеграм-бота, фикс ретенции бэкапа.

**Якорь прода на момент записи: линия l104, коммит `4d858be7`.** Отдельных тикетов-линий для l101–l104 на доске НЕТ — журнал посадок ведётся здесь и в [[WEB-320]].

### ПОДТВЕРЖДЕНИЕ НА ЯКОРЕ l104
Фикс `4272863b` сел в **l103** (13:51Z / 19:21 IST) и продолжает ехать в **l104 `4d858be7`** (18:03Z / 23:33 IST). Приёмка — живая браузерная проверка ВСЕХ ЧЕТЫРЁХ путей закрытия диалога. Тикет остаётся закрытым; повторных обращений владельца по этому дефекту за 04.09 не поступало.

**Смежное по дефектам владельца за 04.09:** мобильные боковые панели — [[WEB-502]] (`26b947a1`, l102, закрыт); окно вручения отчёта и попап предупреждения аналитики — **круги в работе**, отдельными тикетами.
Лента
2026-09-03T17:53:19.459Z · coordinator
Круг 2 сдан: коммит 2184b87e «fix editor workspace share modal acceptance». Приёмка = волна 1589-accuibugs на M4: окно поверх редактора в режиме фокуса по хит-тесту, тест на НАСТОЯЩЕМ EditorModal/CM6, пять путей возврата, tsc -p tsconfig.o229-editor.json = exit 0.
2026-09-03T19:23:21.051Z · coordinator
Приёмка 1589 круга 2 = NO-GO. Node-набор 16/16 PASS и exact tsc exit 0, но: (1) проверка прокрутки/каретки ложноположительна — captureEditorState() сам выставляет scrollTop=217 и позицию, то есть тест проверяет собственную подстановку; (2) exit 0 получен неполным scope: из 30 изменённых TS/TSX шесть исключены из графа компилятора. Круг 3 = волна 1592-uibugs3 на M4.
2026-09-03T22:36:19.523Z · coordinator
Круг 3 сдан: коммит ab8ada59 «make CM6 share return test stateful and scope all files». Приёмка = волна 1602-accuibugs2 на M4. Обязательно: пять путей возврата (крестик, Скасувати, Escape, подложка, УСПЕШНАЯ отправка), режим фокуса focusMode=true (на нём круг 2 упал — окно уходило под редактор), тест на настоящем EditorModal/CM6, а не на заглушке с подставленным scrollTop.
2026-09-03T22:59:33.296Z · coordinator
Приёмка круга 3 (волна 1602) = NO-GO. Блокеры: (1) обязательный real EditorModal/CM6 в Focus Mode не тестируется — editor-share-modal-real-editor.test.tsx:59-72 задаёт focusMode: false для всех пяти путей, а исходный дефект owner-а воспроизводится именно в Focus Mode, где корень редактора уходит в z-[90]; (2) успешная отправка приглашения не является путём возврата — production ShareModal.tsx:231-239 делает setStatus('success') и оставляет окно открытым. Круг 4 = волна 1619 на M4.
2026-09-04T00:09:42.165Z · coordinator
Круг 4 сдан в общем коммите ad5d21c5. Приёмка = волна 1623 на M4: пять путей закрытия окна шаринга (крестик, Скасувати, Escape, подложка, успешная отправка), каждый раз редактор смонтирован и позиция восстановлена из РЕАЛЬНОГО состояния (круг 3 подсовывал harness со scrollTop=217), плюс проверка z-порядка в режиме фокуса.
2026-09-04T00:57:19.651Z · coordinator
Приёмка 1623 круга 4 = NO-GO по существу: использован ровно тот подменный harness, который бриф прошлого круга запрещал, вместо настоящего редактора; нет геометрического elementFromPoint для крестика, Cancel и подложки, а состояние прокрутки и каретки выставлено тестом, а не получено реальными действиями. Круг 5 = волна 1635 на M4: пять путей возврата с настоящим EditorModal и CM6.
2026-09-04T15:08:17.232Z · coordinator
04.09 координатор: в body добавлен блок «ЭВОЛЮЦИЯ 04.09.2026» — состояние, причина с доказательством, что село, что осталось, ловушки.
Воркер
не привязан — привязать: curl -X POST https://bugs.wool2.online/api/web/assign -H 'content-type: application/json' \ -d '{"issueId":"WEB-498","session":"<имя tmux-сессии>","host":"m4"}'
Обновлён
2026-09-04T18:43:45.890Z