帖子徽章

好的,更新无需重新安装,但我因无法正常工作而重新安装了。新仓库也无法正常工作。

1 个赞

那么明确一下——您成功更新了组件,但更新并未解决您的问题?之后您删除了旧组件,并从新仓库重新安装了?

我在两个独立的 Discourse 实例上测试时均未遇到问题。请确认您已执行以下操作:

  • 将组件添加到了正确的主题中
  • 添加组件后刷新了页面
  • 根据您的需要调整了所有设置
3 个赞

是的,完全正确。

  • 我已将其添加到我的主主题中
  • 已刷新页面
  • 设置已完成

结果:
image

4 个赞

我相当确定我已经找到解决办法了。

我完全忘了跟进这件事 :sweat_smile: 我刚刚提交了一个修复,应该能解决你的问题。如果还有其他问题,请告诉我。

6 个赞

它没有显示在“可更新组件”中,所以我删除了它,并从
GitHub - discourse/discourse-post-badges
重新安装。

现在它已按预期工作。
谢谢——速度真快!

6 个赞

没有问题了。谢谢。

@tshenry 它停止工作了 :thinking:

5 个赞

是整个组件有问题,还是又回到了那个设置不工作的原始问题?我刚刚测试了所有功能(包括非英语区域),一切似乎都正常。请提供更多详细信息 :slight_smile:

2 个赞

不,这次它完全停止工作了。

我想我找到原因了。我的徽章名称是土耳其语。我把语言从土耳其语改成了英语。现在我又把它改回土耳其语,它就能用了。

6 个赞

好的。这至少是目前预期的行为。我不认为在通过名称将徽章添加到设置时能避免这种情况。我会考虑增加通过 ID 输入徽章的支持,以使其更加独立于语言环境,但这还需要一段时间才能完成。

6 个赞

警告 - 以下是过去几小时内使用该主题组件的站点的前 10 个请求。

系统变得非常缓慢,出现了严重的速率限制问题,包括浏览器卡死和大量用户投诉。

 214163 GET /user-badges
  29537 POST /message-bus
  14166 GET /assets
  13425 GET /user_avatar
  10125 GET /stylesheets
   8957 GET /theme-javascripts
   8131 GET /images
   7160 GET /letter_avatar
   2992 POST /topics
   2845 GET /t
12 个赞

是的,我们已知悉此问题并将进行改进。

9 个赞

我不确定这是否相关,但最近点击指向徽章页面的链接时出现了大量错误。我为每个用户的自定义徽章创建了一个摘要页面(并配有相应的表情符号),当连续点击类似 [:z133:](/badges/133/-?username=user_name) 的链接时,会出现以下错误:

日志:

消息

未捕获的 TypeError:无法读取 undefined 的 'users' 属性
URL: https://discourse.forum.tld/assets/ember_jquery-57d09ec67e9e407d9b0d42aa1fefd1a470c45310d953b07793a3ca8adc6ec599.js
行:1
列:267440
窗口位置:https://discourse.forum.tld/t/topic-slug/id

回溯

TypeError: 无法读取 undefined 的 'users' 属性
    at https://discourse.forum.tld/assets/plugins/discourse-presence-e4fe1148b25ac06931c3b78b8411907e35aef58f8dd5ac28a262cdd28fb6e51d.js:1:5982
    at E (https://discourse.forum.tld/assets/ember_jquery-57d09ec67e9e407d9b0d42aa1fefd1a470c45310d953b07793a3ca8adc6ec599.js:1:547359)
    at https://discourse.forum.tld/assets/ember_jquery-57d09ec67e9e407d9b0d42aa1fefd1a470c45310d953b07793a3ca8adc6ec599.js:1:547817
    at t.invoke (https://discourse.forum.tld/assets/ember_jquery-57d09ec67e9e407d9b0d42aa1fefd1a470c45310d953b07793a3ca8adc6ec599.js:1:490065)
    at e.t.flush (https://discourse.forum.tld/assets/ember_jquery-57d09ec67e9e407d9b0d42aa1fefd1a470c45310d953b07793a3ca8adc6ec599.js:1:489055)
    at e.t.flush (https://discourse.forum.tld/assets/ember_jquery-57d09ec67e9e407d9b0d42aa1fefd1a470c45310d953b07793a3ca8adc6ec599.js:1:491070)
    at e.t._end (https://discourse.forum.tld/assets/ember_jquery-57d09ec67e9e407d9b0d42aa1fefd1a470c45310d953b07793a3ca8adc6ec599.js:1:496499)
    at e.t.end (https://discourse.forum.tld/assets/ember_jquery-57d09ec67e9e407d9b0d42aa1fefd1a470c45310d953b07793a3ca8adc6ec599.js:1:493035)
    at e.t._run (https://discourse.forum.tld/assets/ember_jquery-57d09ec67e9e407d9b0d42aa1fefd1a470c45310d953b07793a3ca8adc6ec599.js:1:497037)

环境

HTTP 主机:discourse.forum.tld
1 个赞

我在所有自定义徽章的描述中都使用了如下链接:

徽章描述后跟一个链接 <a href="/t/topic-slug/id#heading--detailed-descrption-topic">➥</a>

该链接指向详细的徽章描述主题。这在徽章页面上效果很好,但用户会对帖子徽章工具提示中显示的 HTML 代码感到困惑:

如果工具提示中能够移除 <a href=...>Description</a> 标签,仅保留“Description”部分,或许就能解决大多数用例。

4 个赞

这个版本在 2.5.X 中是否已经修复?

@tshenry 我找到了一个变通方法,可以避免多次请求来加载用户数据。我在这个主题组件中使用了它:

你怎么看?

4 个赞

该组件在使用 Sam 添加到核心部分的上一/下一个主题的新键盘快捷键时会导致 JavaScript 错误(干得漂亮)。这个问题有点不可预测,但可以通过使用快捷键跳转到下一个主题直到错误发生来稳定复现。如果我移除该组件,这个错误就永远不会出现。

第 27516 行

3 个赞

这个解决方案目前运行得如何?还有其他人对它进行过审查吗?:slight_smile:

2 个赞

提醒一下,我正在记录大家的反馈,但在等待 @sam 提到的改进之前,该组件的开发优先级较低。

我目前还没有尝试过,但看起来使用类似的方法来显示信任等级徽章应该是完全可行的。需要 Sam 提到的改进的是非信任等级徽章。

了解人们如何使用该组件,或者至少他们希望如何使用它,将会很有帮助。

您想显示哪些徽章?
  • 信任等级徽章
  • 其他徽章
  • 两者的混合
0 voters

如果大家对信任等级有足够的需求,我可以创建一个单独的“信任等级帖子装饰”组件,一旦该组件的性能得到提升,就可以弃用此组件。

6 个赞

顺便提一下,我们已为此开源了一个插件版本,它将徽章与帖子本身一起序列化,以解决上述性能问题。

至于选择展示哪些徽章,用户可在其个人资料中通过一项新的用户专属设置自行完成。

12 个赞

是否还有其他人也遇到该组件停止显示自定义图片上传的问题?它默认显示 Font Awesome 图标;如果未选择 FA 图标,则无论是否已上传自定义图标,都会显示“undefined”。

谢谢!

3 个赞