[bug][ui] Автотест стенда: 3 UI-бага (stale-editor island, flushSync warning, share includeSubPages default) #216
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Найдено автономным тестированием стенда (web-test-orchestrator, Playwright, с verifier-проходом). Только гитмост-UI баги (git-sync баги вынесены в фиксы на ветке feat/git-sync; полный отчёт — отдельным ишью).
[medium] Открытый редактор — это устаревший остров: он никогда не получает изменения, втянутые из git или внесённые извне (нет живого обновления)
Воспроизведение: Откройте git-синхронизированную страницу в UI-редакторе и оставьте вкладку открытой (не печатайте). Из свежего клона vault'а запушьте изменение в .md этой страницы. Наблюдайте за открытым редактором 30+ секунд (>=2 poll-цикла).
Доказательство: ПОДТВЕРЖДЕНО. Запушен маркер LIVEPROBE-1782447626; независимый свежий клон показал, что он втянут на стороне сервера на t+7s и t+13s, но ОТКРЫТЫЙ редактор не отрендерил его ни разу за окно в 91s (open_editor_showed_at_s=None). Редактор рендерит только из своей комнаты Hocuspocus/Yjs, гидрированной из БД в момент старта сессии; git-ingest никогда не вещает в активную комнату. Именно это устаревание — механизм, стоящий за багами потери данных в открытом редакторе: устаревший in-memory Yjs-документ автосохраняет себя поверх внешнего изменения. Перезагрузка вкладки показывает затёртый (откаченный) текст, а не git-правку.
Первопричина: git-ingest пишет в серверный Y.Doc, но не сходится с in-memory Yjs-документом уже подключённого редактора в браузере; нет живого обновления/вещания в открытую комнату.
[low] React-предупреждение 'flushSync was called from inside a lifecycle method' логируется на каждой странице редактора
Воспроизведение: Откройте любую страницу в редакторе с захватом консоли devtools.
Доказательство: ПОДТВЕРЖДЕНО. При загрузке редактора — 6 записей console:error (React маршрутизирует dev-предупреждения через console.error), каждая: 'Warning: flushSync was called from inside a lifecycle method. React cannot flush when React is already rendering...', исходящие из PureEditorContent / EditorProvider TipTap. Предупреждение только в dev-режиме — страница рендерится полностью, нет краша/пустого экрана, контент сохраняется и сохраняется в персистентном виде. Низкая важность, но это шум, маскирующий реальные ошибки консоли во время QA. (Примечание: более узкое утверждение тестера контента редактора — что оно срабатывает именно 'во время вставки блока' — воспроизвести НЕ удалось; предупреждение срабатывает на монтировании/загрузке редактора независимо от этого.)
Первопричина: EditorProvider/PureEditorContent TipTap вызывает flushSync во время рендера/жизненного цикла React (предупреждение только в dev-режиме).
[low] Включение «Share to web» по умолчанию выставляет includeSubPages=true — под-страницы становятся публично читаемыми по одному клику тумблера
Воспроизведение: На странице нажмите Share, переключите только верхний тумблер 'Shared to web' (НЕ трогайте 'Include sub-pages'), затем осмотрите созданный share.
Доказательство: ПОДТВЕРЖДЕНО. После включения только основного тумблера POST /api/shares/tree возвращает запись share с includeSubPages:true, а тумблер 'Include sub-pages' в поповере отрендерен как ON (скриншот published.png). Публикация страницы по умолчанию молча включает всё её под-дерево в публичный доступ. Это РАСКРЫТО видимым тумблером в том же выпадающем меню, и у тестовой страницы не было дочерних (фактической утечки нет), отсюда низкая важность — но это дефолт, влияющий на приватность/ожидания, и его стоит отметить для документ-продукта.
🤖 web-test-orchestrator
[bug][ui] Автотест стенда: 4 UI-бага (stale-editor, new-chat-after-fail, flushSync warning, share includeSubPages default)to [bug][ui] Автотест стенда: 3 UI-бага (stale-editor island, flushSync warning, share includeSubPages default)Ghost referenced this issue2026-06-27 18:48:39 +03:00
Ghost referenced this issue2026-06-27 21:03:47 +03:00
Ghost referenced this issue2026-06-27 21:32:55 +03:00
Ghost referenced this issue2026-06-27 21:55:17 +03:00
Ghost referenced this issue2026-06-28 22:29:46 +03:00
Ghost referenced this issue2026-06-28 23:45:43 +03:00