Опросы вызывают проблемы

Я только что заметил проблему с темами, содержащими опрос. Это происходит в версии 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)
3 лайка

Спасибо за отчёт. Я разбираюсь в этом и постараюсь как можно скорее отправить PR с исправлением.

3 лайка

Запрошен PR:

9 лайков

@Chief-Engineer это исправление теперь прошло этап tests-passed. Я выполнил проверку в Production, и теперь, надеюсь, всё будет работать.

Пожалуйста, сообщите, если вы обнаружите ещё какие-либо проблемы в Polls.

Обратите внимание, что поведение переноса строк для текста опций — это известная проблема, и уже создан PR с предлагаемым исправлением, который в настоящее время находится на рассмотрении:

6 лайков

Спасибо за очень быстрое решение проблемы, @merefield :smiley:

1 лайк

Все опросы с изображениями в них сломаны :thinking:

(и старые, и новые)

В окне редактора они отображаются нормально:

Но выглядят очень сломанными при обычном просмотре темы:

Похоже, что проблема также проявляется здесь, на Meta:

Images polls - #2 by Arkshine

Это связано с чем-то?

Или это новая проблема?

4 лайка

Очень интересно… это документированная функция? Можете указать, где она описана?

… ни один тест не падает, они работали случайно?

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

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

Как только у меня появится время, я посмотрю, насколько просто добавить поддержку.

3 лайка

Похоже, что в этой теме документации некоторые опросы сейчас не работают. Например, даты отображаются некорректно.

3 лайка

Эта тема создаёт впечатление, что опросы с изображениями какое-то время хотя бы частично поддерживались официально:

4 лайка

Конечно, спасибо, что показали мне это.

Давайте больше не будем обсуждать это, я постараюсь снова добавить поддержку… спасибо за ваше терпение.

7 лайков

исправление включено в основную ветку

2 лайка