Я только что заметил проблему с темами, содержащими опрос. Это происходит в версии 3.3.0.beta4-dev (a30a861546). Многие взаимодействия на некоторых темах полностью ломаются. Похоже, это случается только если тема содержит опрос и пользователь, просматривающий тему, ещё не голосовал в нём. Вот что именно я заметил:
В опросах отсутствует кнопка меню модерации, которая позволяет, например, закрыть опрос или экспортировать результаты.
Меню действий администратора для сообщений не появляется при нажатии на кнопку.
Меню действий администратора для темы появляется, но не исчезает, если сначала попытаться открыть меню действий для сообщения.
При нажатии на аватар пользователя ничего не происходит, если перед этим было открыто меню действий администратора для сообщения.
Все эти проблемы исчезают в темах без опросов, а также если отключить настройку сайта poll enabled или включить безопасный режим с помощью ?safe_mode=no_plugins. При загрузке сайта появляется следующее исключение:
Uncaught (in promise) TypeError: e[b].getValue(...) is not a function
at Object.evaluate (runtime.js:1668:1)
at Object.evaluate (runtime.js:1052:1)
at It.evaluateSyscall (runtime.js:4204:1)
at It.evaluateInner (runtime.js:4175:1)
at It.evaluateOuter (runtime.js:4168:1)
at Wt.next (runtime.js:4999:1)
at Wt._execute (runtime.js:4986:1)
at Wt.execute (runtime.js:4979:1)
at Ut.handleException (runtime.js:4313:1)
at Vt.handleException (runtime.js:4521:1)
at Dt.throw (runtime.js:4260:1)
at Ve.evaluate (runtime.js:2106:1)
at Dt._execute (runtime.js:4247:1)
at Dt.execute (runtime.js:4232:1)
at qt.rerender (runtime.js:4547:1)
at hr.render (index.js:4674:1)
at index.js:4934:1
at Nt (runtime.js:4080:1)
at gr._renderRoots (index.js:4916:1)
at gr._renderRootsTransaction (index.js:4960:1)
at gr._revalidate (index.js:4992:1)
at invoke (backburner.js.js:280:1)
at h.flush (backburner.js.js:197:1)
at p.flush (backburner.js.js:358:1)
at B._end (backburner.js.js:798:1)
at B.end (backburner.js.js:589:1)
at B._run (backburner.js.js:842:1)
at B._join (backburner.js.js:819:1)
at B.join (backburner.js.js:629:1)
at Array.<anonymous> (index.js:4765:1)
at B._trigger (backburner.js.js:896:1)
at B._end (backburner.js.js:811:1)
at B._boundAutorunEnd (backburner.js.js:523:1)
@Chief-Engineer это исправление теперь прошло этап tests-passed. Я выполнил проверку в Production, и теперь, надеюсь, всё будет работать.
Пожалуйста, сообщите, если вы обнаружите ещё какие-либо проблемы в Polls.
Обратите внимание, что поведение переноса строк для текста опций — это известная проблема, и уже создан PR с предлагаемым исправлением, который в настоящее время находится на рассмотрении:
Очень интересно… это документированная функция? Можете указать, где она описана?
… ни один тест не падает, они работали случайно?
Модуль опросов совсем недавно был перенесён на Glimmer, поэтому в фронтенде произошло огромное количество изменений (по сути, переписывание фронтенда с нуля).
Однако эта миграция произошла только на этой неделе, а не в мае, поэтому я не думаю, что именно она стала причиной появления этой проблемы.
Как только у меня появится время, я посмотрю, насколько просто добавить поддержку.