抱歉,我必须拒绝此 PR。此更改过于复杂且难以维护。主要原因如下:
- 范围并非总是必需的,不应强制执行;
- 在所有地方(例如插件)更改并随后维护它将是一项艰巨的工作;
PlaceholderGuarian并没有解决问题,而是添加了一个伪范围(意图稍后修复);- 大多数情况下,序列化应在控制器中进行,并且范围将自动添加。
根据群组显示用户名或全名非常棘手。与其尝试将其合并到 Discourse 核心,不如先创建一个插件?如果您的社区规模较小,可以这样做:
- 将
SiteSetting.enable_names设置为 false 以始终使用用户名; - 定义一个返回用户名 → 全名映射的端点,用于 TL3 用户;
- 使用
formatUsernameAPI 调用来添加全名或替换 TL3 用户 - discourse/app/assets/javascripts/discourse/app/lib/plugin-api.gjs at main · discourse/discourse · GitHub