屏蔽管理员噪音!

:information_source: 摘要 自动为管理员忽略各种用户菜单通知
:hammer_and_wrench: 仓库 https://github.com/Lillinator/dismiss-admin-noise
:question: 安装指南 如何安装主题或主题组件

安装此主题组件

:woman_technologist:t2: 概述

这是一个轻量级的 Discourse 主题组件,可自动忽略(隐藏)管理员的特定系统通知。

该组件旨在减少界面杂乱和认知负担——尤其适合神经多样性管理员(比如我),或者经常更新实例并通过 Meta 跟踪变更的管理员,亦或是那些在开发论坛中大胆尝试、无所畏惧的 YOLO 型管理员!(也是我):grin:

:gear: 设置

以下通知可在组件管理员设置中自动忽略:

设置 描述
No new features notifications 隐藏新功能通知
No invitee accepted notifications 隐藏受邀者接受通知
No membership accepted notifications 隐藏群组成员资格接受通知(注意:不影响成员资格通知的合并)
No granted badge notifications 隐藏授予徽章通知
No upcoming change promoted notifications 隐藏自动推广的即将变更通知

:light_bulb: 注意事项

  • 仅影响管理员用户;例如,非管理员用户仍会收到其被授予的徽章或接受的邀请通知,无论此组件中启用了哪些设置。

  • 如果启用所有设置,根据论坛通知的繁忙程度,用户可能会发现“其他通知”标签页或“所有通知”标签页为空。

  • 现在可以通过“用户偏好设置 → 通知”中的设置自动忽略“即将变更”的管理员通知。

  • 如果此组件导致您错过重要通知,本人概不负责!


查看我的其他 Discourse 项目
8 个赞

也许就是这种情况吧,哈哈。我已被诊断为 ADHD。真希望几分钟前能截个图,但醒来时收到了约 30 个已接受的邀请,通知栏里只能看到最后 15 个(真不想仅仅因为邀请占满了下拉菜单的槽位,就得去访问 /u/hydn/notifications)。至少,缺乏内置的管理方式确实让人感到有些困扰。

谢谢!

2 个赞

顺便提一下,如果你想在无需执行实际触发这些通知的操作的情况下测试该组件的设置(且你拥有 SSH 访问权限),可以在 Rails 控制台中使用以下命令来触发相应的事件通知(请使用适用于你组件设置的触发器):

cd /var/discourse
.launcher enter app
rails c
# 查找并设置你的用户变量
u = User.find_by_username("YOUR ADMIN 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
)

# 广播(在另一个窗口或标签页中观察你的浏览器,按下回车后!)
u.publish_notifications_state

测试的最佳方法是:在你想要测试的组件中禁用该设置,运行相关的 Rails 触发器命令,查看通知弹出;然后启用该设置并进行硬刷新,观察它们消失。