Легковесный компонент темы Discourse, который автоматически скрывает определённые системные уведомления в меню пользователя для администраторов.
Этот компонент создан для снижения визуального шума и когнитивной нагрузки — особенно полезен для администраторов с особенностями развития (как я), или тех, кто часто обновляет свои экземпляры и отслеживает изменения через Meta (как я), или просто для администраторов-рисковиков, живущих на грани в своих тестовых форумах! (тоже как я)
Настройки
Следующие уведомления можно автоматически скрывать в настройках компонента для администраторов:
Настройка
Описание
No new features notifications
Скрывать уведомления о новых функциях
No invitee accepted notifications
Скрывать уведомления о принятии приглашений
No membership accepted notifications
Скрывать уведомления о принятии в группы (примечание: не влияет на объединение уведомлений о членстве)
No granted badge notifications
Скрывать уведомления о присвоении значков
No upcoming change promoted notifications
Скрывать уведомления о автоматически продвигаемых будущих изменениях
No review queue badges
Скрывать уведомления о проверяемых флагах, если администратор НЕ является членом группы модераторов
Влияет только на пользователей-администраторов; например, не-администраторы по-прежнему будут получать уведомления о присвоенных им значках или принятых приглашениях, независимо от включённых в этом компоненте настроек.
Обратите внимание, что настройка No review queue badges влияет на уведомления о флагах только в том случае, если администратор НЕ является членом группы модераторов. Количество флагов по-прежнему будет отображаться в боковой панели очереди проверки, чтобы администраторы могли продолжать отслеживать их.
Настройки влияют на всех пользователей-администраторов. Нет возможности настроить их индивидуально для конкретных администраторов в группе. Для этого потребовалось бы разрабатывать плагин, добавляющий эти настройки во вкладку preferences/notification для администраторов, что я пока не очень хочу делать — если, конечно, у вас нет бюджета и вы не готовы заплатить мне за это.
Если все настройки компонента включены, вкладки другие уведомления или все уведомления могут оказаться пустыми, в зависимости от того, насколько загружен ваш форум уведомлениями.
Уведомления администраторов о будущих изменениях теперь можно автоматически скрывать с помощью настройки в настройки пользователя -> уведомления.
Я не несёт ответственности, если этот компонент каким-то образом заставит вас пропустить важное уведомление!
Возможно, дело в этом, ха-ха. У меня диагностирован СДВГ. Жалею, что не сделал скриншот несколько минут назад: я проснулся и увидел около 30 принятых приглашений, но в окне уведомлений отображались только последние 15 (мне не хотелось бы посещать /u/hydn/notifications только из-за того, что приглашения занимают все слоты в выпадающем списке). По крайней мере, отсутствие встроенного способа управления этим вызывало раздражение.
Кстати, если вы хотите протестировать настройки этого компонента, не выполняя фактические действия, которые вызывают эти уведомления (и у вас есть доступ по SSH), вы можете использовать следующие команды в консоли Rails для запуска соответствующих событий уведомлений (используйте триггеры, применимые к настройкам вашего компонента):
cd /var/discourse
.launcher enter app
rails c
# найдите и установите переменную пользователя
u = User.find_by_username("ВАШЕ ИМЯ АДМИНИСТРАТОРА")
# триггер: новые функции
Notification.create!(
user: u,
notification_type: Notification.types[:new_features],
read: false,
data: {}.to_json
)
# триггер: приглашённый принял
Notification.create!(
user: u,
notification_type: Notification.types[:invitee_accepted],
read: false,
data: { display_username: "awesome_new_user" }.to_json
)
# триггер: членство в группе принято
Notification.create!(
user: u,
notification_type: Notification.types[:membership_request_accepted],
read: false,
data: { group_name: "Trust_Level_4" }.to_json
)
# триггер: выдана значок
Notification.create!(
user: u,
notification_type: Notification.types[:granted_badge],
read: false,
data: { badge_name: "Great Topic", badge_id: 10 }.to_json
)
# триггер: предстоящее изменение автоматически продвинуто
Notification.create!(
user: u,
notification_type: Notification.types[:upcoming_change_automatically_promoted],
read: false,
data: {
upcoming_change_humanized_name: "Experimental CSS",
upcoming_change_name: "experimental_css"
}.to_json
)
# широковещательная рассылка (откройте браузер в другом окне или вкладке и следите за ним при нажатии Enter!)
u.publish_notifications_state
Лучший способ тестирования — отключить настройку в компоненте, который вы хотите протестировать, запустить соответствующую команду триггера Rails, увидеть всплывающее уведомление, затем включить настройку и выполнить жёсткую перезагрузку страницы, чтобы убедиться, что уведомления исчезли.
я внес некоторые улучшения для массовых уведомлений (например, когда срабатывает куча значков) и добавил новую настройку для автоматического скрытия ожидающих флагов из очереди проверки, если администратор НЕ является членом группы модераторов. количество флагов по-прежнему будет отображаться в боковой панели в разделе очереди проверки, так что администраторы смогут отслеживать ситуацию, но без лишнего шума уведомлений в пользовательском меню: