标题在用户设置时消失

你好,

这个问题仍然存在 :slight_smile: 会有修复吗? :slight_smile: Trust level 3 user title disappearing - #12 by jomaxro

2 个赞

这个问题应该在一月份就修复了。请提供复现步骤。我执行以下操作时功能正常:

  • 将默认语言设置为非英语(我使用的是德语)
  • 将用户提升为 TL3 级别
  • 以该 TL3 用户身份登录
  • 进入用户偏好设置(/my/preferences/account
  • 修改头衔并点击保存
  • 刷新页面

选中的头衔仍然可见。

6 个赞

嘿,我是从这个话题被重定向过来的:

我仍然遇到这个问题,根据我的观察,当日期变更时,所有与徽章相关的标题都会出现这种情况,虽然我还不能完全确定。
有用户向我报告了这个问题,以下是我昨天进行的测试:

  1. 设置默认语言环境(我的是英语,但我收到来自中文用户(中国/语言:中文)的报告)
  2. 将徽章设置为标题(我为 2 个用户设置了标题)
  3. 标题在当天正常显示,但今天当我检查时,两个标题都消失了。

除了更改电脑时区设置外,是否有其他方法可以验证这是否与日期变更有关?我尝试过这种方法,但没有成功(标题并未消失)。

感谢任何建议,谢谢。

3 个赞

我也收到了用户提交的这份报告。用我之前的方法无法复现,因为该问题实际上已经修复,但不知为何用户还是成功移除了标题 :S

用户表示会尝试弄明白他是如何做到这一点的。

4 个赞

@HeyRR @gerhard 好吧,这纯属巧合 :smiley: 标题似乎总是在 20:00 被移除,也就是芬兰当地晚上 8 点(GMT+3)。

那个时间点会发生什么?是有什么定时任务吗?

4 个赞

感谢 @HeyRR 的描述,我已经找到了问题所在。问题出在 BadgeGrant 后台作业上,它没有处理本地化的徽章名称。

我明天将合并该提交。

11 个赞

谢谢,我可以看到在重新运行 BadgeGrant 作业后,徽章依然存在。

不过,似乎 BadgeGrant 作业还存在另一个问题。我过去曾手动批量为某些用户分配徽章(例如“首次点赞”或“首次被点赞”),这些用户因为相关点赞发生在受限分类中,无法自动获得徽章。

但当 BadgeGrant 作业被触发时,所有通过手动批量分配获得此类徽章的用户都会失去该徽章。

我的测试如下:

  1. 手动分配一个默认徽章,某用户因受限分类问题无法自动获得,但他/她实际上满足条件。运行 BadgeGrant 后,该徽章会被移除。

  2. 创建一个自定义徽章(使用 SQL,例如:当用户在特定分类中发布新主题时授予该徽章)。手动分配该徽章给某用户,该用户因受限分类问题无法自动获得,但他/她实际上满足条件。运行 BadgeGrant 后,该徽章会被移除。

  3. 创建一个自定义徽章,不使用 SQL。手动分配该徽章给某用户,该用户因受限分类问题无法自动获得,但他/她实际上满足条件。运行 BadgeGrant 后,该徽章仍然保留。

我猜测这是预期行为,因为所有手动授予徽章的用户都不符合 SQL 查询条件,因此会被从候选组中剔除。但如果确实如此,那么下面这个主题中的大部分讨论对于拥有活跃受限分类的论坛来说就意义大减了。此外,据我理解,短期解决方案也变得不可行。

对此有什么建议吗?我当然可以停止这样做,但只是好奇是否有办法解决这个问题。

1 个赞

您可以通过关闭“每日运行吊销查询”设置来停止此操作,但对于内置徽章,您可能无法执行此操作。

1 个赞

这是否已部署到所有服务?我们仍然看到这个问题。https://keskustelut.inderes.fi/

编辑:哦,我猜 master 分支不会自动部署到所有 Discourse 托管的服务。它应该在什么时候发布?

2 个赞

谢谢提醒。我会确保您的网站在周一部署。

5 个赞

@Yu_Gong1 您的网站已于今日部署。

@HeyRR 欢迎创建一个 #feature 主题,讨论在私有分类中允许徽章的网站设置。

4 个赞