Версия Discourse
2026.1.0-latest (c7e9cddb06)
Браузер
Chrome 143.0.7499.170 (Официальная сборка) 64-бит
(когорта: развертывание 144.0.7559.59)
ОС
Windows 11 Home
Версия 10.0.26200 (Сборка 26200)
Краткое описание
При включенном аппаратном ускорении в Chrome возникает проблема с интерфейсом:
Каретка текста в редакторе становится невидимой (выглядит белой на белом фоне).
Это происходит, когда блоки событий плагина Discourse Calendar были обработаны (cooked).
Проблема немедленно исчезает при отключении аппаратного ускорения в Chrome.
Это указывает на проблему рендеринга GPU/компонента Chrome, взаимодействующего с элементами интерфейса Discourse, а не на регрессию чистого CSS.
Наблюдаемые проблемы
Каретка в редакторе становится невидимой
- Возникает как в редакторе создания новой темы, так и в редакторе ответа.
- Каретка выглядит белой / сливается с фоном, из-за чего трудно или невозможно увидеть позицию ввода текста.
- Происходит периодически, но воспроизводимо при включенном аппаратном ускорении.
Примечательное поведение:
- Открытие инструментов разработчика Chrome (DevTools) немедленно заставляет каретку отобразиться нормально.
- Это сильно указывает на пересчет рендеринга/композиции, а не на изменения состояния или CSS.
Блоки событий discourse-calendar не создают превью (onebox) в безопасном режиме
При включенном аппаратном ускорении:
- В
/safe-modeэто поведение меняется (что ожидаемо, так как компоненты тем отключены).
Воспроизведение
- Используйте Chrome на Windows 11 с включенной опцией «Использовать аппаратное ускорение при наличии»
- Откройте сайт Discourse, работающий на версии
2026.1.0-latest - Откройте редактор и начните ввод текста
- Наблюдайте невидимую/белую каретку
- Вставьте или просмотрите блоки событий discourse-calendar
Невоспроизведение / диагностика
Невозможно воспроизвести в /safe-mode
Воспроизводится в режиме инкогнито (не связано с расширениями)
Настройка пользовательского CSS отсутствует
Открытие инструментов разработчика Chrome (DevTools) немедленно исправляет проблему с кареткой
Отключение аппаратного ускорения Chrome полностью решает обе проблемы
Путь:
Chrome → Настройки → Система →
[ ] Использовать аппаратное ускорение при наличии
После отключения:
- Каретка отображается нормально
- Превью событий (oneboxes) работают корректно
- Проблема не воспроизводится
Примечания / гипотеза
Похоже, что это проблема взаимодействия GPU/компонента Chrome, потенциально связанная с:
- рендерингом каретки в текстовых полях / ProseMirror
- таймингом перерисовки или слоями фокуса
- рендерингом превью (onebox) или расчетом макета при ускоренной композиции
Тот факт, что:
- безопасный режим меняет поведение,
- открытие DevTools вызывает немедленную коррекцию,
- а аппаратное ускорение GPU полностью контролирует воспроизводимость,
сильно указывает на проблему рендеринга на уровне браузера, а не на регрессию Discourse, внесенную последними коммитами.
Предлагаемые подходы к отладке
Поскольку открытие DevTools изменяет поведение рендеринга, может помочь:
- инспекция с помощью удаленных DevTools, а не локальных
- тестирование с открытыми DevTools с момента начальной загрузки страницы
- сравнение поведения с флагом
--disable-gpu - просмотр вывода
chrome://gpuна затронутых системах
Ключевые элементы для инспекции, когда проблема активна:
- Элементы редактора:
textarea.d-editor-input.d-editor .ProseMirror
- Вычисленный рендеринг каретки (
caret-color, слои композиции) - Тайминг перерисовки контейнера превью (onebox)
Обходной путь
Для затронутых пользователей на Windows 11:
Отключите аппаратное ускорение Chrome
Это полностью решает как проблему с кареткой в редакторе, так и поведение создания превью (oneboxing) для событий плагина Discourse Calendar.}