Post Badges

Хорошо, переустановка для обновлений не требуется, но я переустановил, потому что это не работало. Новый репозиторий тоже не работает.

1 лайк

Итак, чтобы прояснить: вы смогли обновить компонент, но это не решило вашу проблему? Затем вы удалили старый компонент и установили новый из репозитория?

У меня он работает без сбоев на двух разных экземплярах Discourse. Убедитесь, что вы:

  • Добавили компонент в правильную тему
  • Обновили страницу после добавления компонента
  • Настроили все параметры в соответствии с вашими потребностями
3 лайка

Да, именно так.

  • Я добавил его в свою основную тему
  • Обновил страницу
  • Настройки выполнены

Результат:
image

4 лайка

Я почти уверен, что разобрался.

Я совсем забыл вернуться к этому вопросу :sweat_smile: Я только что отправил коммит, который должен решить вашу проблему. Дайте знать, если столкнётесь с другими проблемами.

6 лайков

Оно не отображалось в разделе «Доступные для обновления компоненты», поэтому я удалил его и установил из
GitHub - discourse/discourse-post-badges

Теперь оно работает как задумано.
Спасибо — это было очень быстро!

6 лайков

Осталось никаких проблем. Спасибо.

@tshenry Это перестало работать :thinking:

5 лайков

Весь компонент или вы вернулись к исходной проблеме, когда та настройка не работала? Я только что всё проверил (в том числе с неанглийской локалью), и всё выглядит исправно. Мне нужно больше деталей, пожалуйста :slight_smile:

2 лайка

Нет, на этот раз оно полностью перестало работать.

Думаю, я понял, почему оно перестало работать. Названия моих значков на турецком языке. Я сменил язык с турецкого на английский. Теперь я вернул его обратно на турецкий, и всё работает.

6 лайков

Круто. Это ожидаемое поведение, по крайней мере пока. Я не думаю, что есть способ избежать этого при вводе значка в настройках по его имени. Я рассмотрю возможность добавить дополнительную поддержку ввода значка по ID, чтобы сделать систему ещё более независимой от локали, но до этого ещё далеко.

6 лайков

Предупреждение: ниже приведены 10 самых частых запросов за последние несколько часов на сайте, использующем этот компонент темы.

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

 214163 GET /user-badges
  29537 POST /message-bus
  14166 GET /assets
  13425 GET /user_avatar
  10125 GET /stylesheets
   8957 GET /theme-javascripts
   8131 GET /images
   7160 GET /letter_avatar
   2992 POST /topics
   2845 GET /t
12 лайков

Да, мы в курсе этого и планируем улучшить ситуацию.

9 лайков

Не знаю, связано ли это с этим, но в последнее время при клике на ссылки, ведущие на страницу значков, у меня возникает много ошибок. Я создал сводную страницу для пользовательских значков каждого пользователя (с соответствующим эмодзи), и при последовательном клике на несколько ссылок, таких как [:z133:](/badges/133/-?username=user_name), возникает ошибка:

Лог:

Сообщение

Необработанная ошибка TypeError: невозможно прочитать свойство 'users' у undefined
URL: https://discourse.forum.tld/assets/ember_jquery-57d09ec67e9e407d9b0d42aa1fefd1a470c45310d953b07793a3ca8adc6ec599.js
Строка: 1
Колонка: 267440
Расположение окна: https://discourse.forum.tld/t/topic-slug/id

Трассировка стека

TypeError: невозможно прочитать свойство 'users' у undefined
    at https://discourse.forum.tld/assets/plugins/discourse-presence-e4fe1148b25ac06931c3b78b8411907e35aef58f8dd5ac28a262cdd28fb6e51d.js:1:5982
    at E (https://discourse.forum.tld/assets/ember_jquery-57d09ec67e9e407d9b0d42aa1fefd1a470c45310d953b07793a3ca8adc6ec599.js:1:547359)
    at https://discourse.forum.tld/assets/ember_jquery-57d09ec67e9e407d9b0d42aa1fefd1a470c45310d953b07793a3ca8adc6ec599.js:1:547817
    at t.invoke (https://discourse.forum.tld/assets/ember_jquery-57d09ec67e9e407d9b0d42aa1fefd1a470c45310d953b07793a3ca8adc6ec599.js:1:490065)
    at e.t.flush (https://discourse.forum.tld/assets/ember_jquery-57d09ec67e9e407d9b0d42aa1fefd1a470c45310d953b07793a3ca8adc6ec599.js:1:489055)
    at e.t.flush (https://discourse.forum.tld/assets/ember_jquery-57d09ec67e9e407d9b0d42aa1fefd1a470c45310d953b07793a3ca8adc6ec599.js:1:491070)
    at e.t._end (https://discourse.forum.tld/assets/ember_jquery-57d09ec67e9e407d9b0d42aa1fefd1a470c45310d953b07793a3ca8adc6ec599.js:1:496499)
    at e.t.end (https://discourse.forum.tld/assets/ember_jquery-57d09ec67e9e407d9b0d42aa1fefd1a470c45310d953b07793a3ca8adc6ec599.js:1:493035)
    at e.t._run (https://discourse.forum.tld/assets/ember_jquery-57d09ec67e9e407d9b0d42aa1fefd1a470c45310d953b07793a3ca8adc6ec599.js:1:497037)

Окружение

HTTP HOSTS: discourse.forum.tld
1 лайк

Я использую ссылки во всех описаниях для пользовательских значков следующим образом:

Описание значка, за которым следует ссылка <a href="/t/topic-slug/id#heading--detailed-descrption-topic">➥</a>

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

Если бы теги якоря <a href=...>Описание</a> удалялись из всплывающей подсказки, оставляя только описание, это, вероятно, решило бы большинство случаев использования.

4 лайка

Случайно, это уже исправлено в 2.5.X?

@tshenry Я нашел обходной путь, который позволяет избежать множественных запросов для загрузки данных пользователя. Я использовал его в этом компоненте темы: GitHub - jahan-ggn/discourse-trust-level-title-on-posts · GitHub

Что вы думаете?

4 лайка

Этот компонент вызывает ошибки JavaScript при использовании новых сочетаний клавиш для перехода к предыдущей/следующей теме, которые Сэм добавил в ядро (отличная работа). Поведение немного непредсказуемо, но ошибку можно воспроизвести последовательно, используя сочетание клавиш для перехода к следующей теме, пока она не появится. Если удалить этот компонент, ошибка никогда не возникает.

Строка 27516

3 лайка

Как работает это решение на данный момент? Кто-нибудь уже подверг его тщательной проверке? :slight_smile:

2 лайка

Просто для сведения: я отслеживаю все ваши отзывы, но работа над этим компонентом была менее приоритетной, пока мы ждем улучшений, о которых упоминал @sam.

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

Было бы полезно узнать, как люди используют этот компонент, или хотя бы как они хотели бы его использовать.

Какие значки вы хотите отображать?
  • Значки уровней доверия
  • Другие значки
  • Комбинацию обоих типов
0 voters

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

6 лайков

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

Что касается выбора, какие бейджи будут отображаться, пользователь делает это самостоятельно в своём профиле, в новом индивидуальном настройке.

12 лайков

У кого-то еще перестал отображаться пользовательский загруженный образ в этом компоненте? По умолчанию отображается иконка Font Awesome, а если иконка FA не выбрана, то показывается «undefined», независимо от того, был ли загружен пользовательский значок или нет.

Спасибо!

3 лайка