Не видно текстового поля в Composer после обновления до 2.6.0.beta2

Всем привет,

Только что обновился до версии 2.6.0.beta2, проверил, что всё работает как положено, и вдруг понял: я не могу редактировать CSS/HTML тем. Поведение похоже на это. Главное отличие в том, что я вижу текст с моим пользовательским кодом для CSS/HTML, но не могу его редактировать — он отображается просто как обычный текст.

Шаги для воспроизведения:

  1. Перейдите в Панель администратора.
  2. Откройте вкладку/кнопку «Настроить» (Customize).
  3. Выберите тему.
  4. Нажмите кнопку «Редактировать CSS/HTML».
  5. Если у вас есть пользовательский код в CSS, он сразу отобразится как обычный текст. Если нет, выберите вкладку/тип, где такой код есть.

Заметки о поведении:

  • Если нажать галочку «Скрыть неиспользуемые поля», поля с текстом остаются видимыми.
  • Кнопка «Сохранить» затенена и неактивна.
  • Кнопка «Предпросмотр» работает как положено.
  • Я пробовал использовать «лайфхак» с параметром ?safe_mode=only_official, но поведение осталось прежним.
  • Проблема наблюдается в последних версиях Chrome и Firefox (не ночные сборки).

Личное замечание:

  • Я прочитал все заметки о выпуске версии 2.6.0.beta2 и не нашёл ничего, что могло бы указывать на то, что это триггер или новая функция (кроме автоматического переключения Светлая/Тёмная тема), но не исключаю, что я что-то упустил.

Это, скорее всего, связано с недавними обновлениями нашего редактора CSS/HTML. Старая версия редактора всё ещё кэшируется в вашем браузере и вызывает проблемы. Чтобы убедиться в этом, откройте редактор и запустите консоль браузера — вы увидите ошибку, в которой упоминается loadWorkerFromBlob.

Один из возможных способов решения — перейти напрямую по адресу yourcommunity.example.com/javascripts/ace/ace.js и выполнить жёсткую перезагрузку страницы.

Привет, @awesomerobot!

Огромное спасибо за ответ.

Да, действительно, у меня в консоли появляются эти ошибки!

Тем временем я пробовал всё подряд в системе, и оказалось, что я тоже не могу ничего опубликовать. До этого я не проверял это, так как мне ещё не приходилось что-то писать, но из любопытства попробовал. Когда пытаешься ответить или создать новую тему, открывается редактор, но поле для ввода текста отсутствует. Поле для заголовка появляется, и в него можно писать, выпадающие списки (например, выбор категории) загружаются, но использовать их нельзя, а под ними нет никакого поля.

И в редакторе тем, и при попытке публикации я получаю ту же ошибку: property 'authorized_extensions' of undefined

Шаги для воспроизведения:

  1. Нажмите кнопку «Создать тему».

Заметное поведение:

  • Независимо от того, отвечаете вы или создаёте новую тему, всплывающий редактор появляется, но без поля для ввода текста.
  • Поле заголовка (в случае создания новой темы) появляется, и в него можно писать.
  • Выпадающие списки (категория и т. д.) отображаются, но, похоже, не работают.
  • Проблема наблюдается как на мобильных устройствах, так и на настольных компьютерах.
  • Происходит в окнах инкогнито и после жёсткой перезагрузки.

А теперь самое странное: похоже, это касается только аккаунтов администраторов и модераторов, так как обычные пользователи могут писать нормально. Это имеет для вас какой-то смысл, или мне стоит выбросить всю свою электронику? :stuck_out_tongue:


Небольшое обновление

Попробовал на других устройствах, и теперь я действительно в замешательстве, потому что на некоторых устройствах поле работает в Firefox, но не в Chrome, и наоборот. А на некоторых устройствах это работает для модераторов, но не для администраторов, и наоборот.

Я очистил кэш и куки, попробовал режим инкогнито, но поведение не изменилось.

Попробую «экстремальный» вариант, чтобы исключить всё остальное: удалю все браузеры и попробую с нуля. Потому что такое поведение говорит мне о том, что проблема не обязательно в Discourse, а в чём-то, что в зависимости от устройства и аккаунта то возникает, то нет.

Один момент, который я забыл добавить: я последовал вашему совету и сделал следующее:

Я понял это как переход по указанному адресу, а затем нажатие CTRL+F5 или просто F5 после очистки всего и так далее, но поведение сохраняется.


Ещё одно обновление

Нет, пробовал удалять и устанавливать заново — ничего не помогло. Даже в Edge (и новой, и старой версии). Безрезультатно.

Похоже, у обычных пользователей этой проблемы нет, так как активность протекает как ожидалось (если она у них есть, я бы не узнал, на самом деле :P), но у администраторов и модераторов она есть. Я не могу определить причину, единственное, что я вижу в консоли:

Chrome: Uncaught TypeError: Cannot read property 'authorized_extensions' of undefined
Firefox: Uncaught TypeError: t is undefined


Обновление снова

Просто пишу, чтобы сообщить, что теперь, внезапно, без каких-либо изменений ни на моём компьютере, ни на сервере, я могу редактировать темы, и поле для ввода появилось.

Однако я не могу писать на своём собственном сайте, потому что поле не появляется, как описано выше. Меня это сбивает с толку. Обновлю заголовок, так как теперь проблема только с полями ввода текста (если только поле редактирования тем снова внезапно не перестанет работать).

Новый пост, чтобы сообщить следующее: если я снимаю статус модератора с пользователя-модератора (у которого есть эта ошибка), то после обновления страницы он сможет писать без проблем — поле ввода появится. Это подтверждает, что проблема возникает только у модераторов и администраторов.

Однако я пересмотрел все свои плагины, также попробовал режим ?safe_mode=only_official, но это ничего не изменило — проблема сохраняется только у модераторов и администраторов.

А теперь самое интересное: пока я писал эти строки, мне пришло в голову, что «единственное различие — это админы/модераторы, но у вас на Meta такой проблемы нет, значит, дело в чём-то очень специфичном в моих настройках». Тогда я предположил, что хотя «безопасный режим» отключает плагины, он не отключает компоненты темы.

Я попробовал, и это подтвердилось: причиной проблемы был компонент темы Restrict Uploads (иронично, что модераторы и администраторы могут загружать файлы, поэтому их панель не затронута, но по какой-то причине она не загружается).

Подытожим:

  • Что касается исходной проблемы: похоже, она связана с поведением, которое описал @awesomerobot, так как она исправилась сама собой «со временем» (хотя и не сразу после выполнения тех команд, что я отмечу).

  • У меня была другая проблема, касающаяся полей ввода текста, и она была связана с компонентом темы Restrict Uploads от @tshenry.

Может ли кто-нибудь подтвердить это, прежде чем я опубликую сообщение в теме компонента темы?

Шаги для воспроизведения:

  1. Обновитесь до версии 2.6.0.beta2.
  2. Установите компонент темы Restrict Uploads.
  3. Войдите в систему как модератор или администратор.
  4. Попробуйте создать любой пост (новую тему, ответ, личное сообщение).

Наблюдаемое поведение:

  • Неважно, отвечаете вы или создаёте новую тему — всплывающий редактор появляется, но без поля ввода текста.
  • Поле ввода заголовка (в случае новой темы) появляется, и вы можете вводить текст.
  • Выпадающие списки (категория и т. д.) появляются, но, похоже, не работают.
  • Проблема наблюдается как на мобильных устройствах, так и на настольных компьютерах.
  • Проблема возникает в окнах инкогнито и после жёсткого обновления страницы.
  • Проблема наблюдается в последних версиях Chrome и Firefox (не ночные сборки).
  • Неважно, отвечаете вы или создаёте новую тему — всплывающий редактор появляется, но без поля ввода текста.

Ошибки в консоли

Chrome: Uncaught TypeError: Cannot read property 'authorized_extensions' of undefined
Firefox: Uncaught TypeError: t is undefined

Не уверен, отключит ли это все компоненты темы, но когда я включаю безопасный режим и выбираю «отключить тему», я не вижу никаких других компонентов моей темы, поэтому я считаю, что безопасный режим может это сделать.