Лёгкий компонент темы для Discourse, который автоматически скрывает (отключает) определённые системные уведомления для администраторов.
Этот компонент разработан для снижения визуального шума и когнитивной нагрузки — особенно полезен для нейроразнообразных администраторов (как я), тех, кто часто обновляет свои инстансы и отслеживает изменения через Meta, или просто администраторов, живущих на грани в своих форумах для разработки! (тоже как я)
Настройки
Следующие уведомления можно автоматически отключать в настройках компонента для администраторов:
Настройка
Описание
No new features notifications
Скрывать уведомления о новых функциях
No invitee accepted notifications
Скрывать уведомления о принятии приглашённых
No membership accepted notifications
Скрывать уведомления о принятии членства в группе (примечание: не влияет на объединение уведомлений о членстве)
No granted badge notifications
Скрывать уведомления о выданных бейджах
No upcoming change promoted notifications
Скрывать уведомления о автоматически продвигаемых предстоящих изменениях
Примечания
Затрагиваются только администраторы; например, неадминистраторы по-прежнему будут получать уведомления о выданных им бейджах или принятых приглашениях, независимо от настроек, включённых в этом компоненте.
Если все настройки включены, у пользователя может оказаться пустой вкладка «Другие уведомления» или «Все уведомления» в зависимости от активности уведомлений на форуме.
Уведомления администраторов о предстоящих изменениях теперь можно автоматически отключать с помощью настройки в предпочтениях пользователя -> уведомления.
Я не несу ответственности, если этот компонент каким-либо образом приведёт к пропуску важного уведомления!
Возможно, дело в этом, ха-ха. У меня диагностирован СДВГ. Жалею, что не сделал скриншот несколько минут назад: я проснулся и увидел около 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, увидеть всплывающее уведомление, затем включить настройку и выполнить жёсткую перезагрузку страницы, чтобы убедиться, что уведомления исчезли.