好的,更新无需重新安装,但我因无法正常工作而重新安装了。新仓库也无法正常工作。
那么明确一下——您成功更新了组件,但更新并未解决您的问题?之后您删除了旧组件,并从新仓库重新安装了?
我在两个独立的 Discourse 实例上测试时均未遇到问题。请确认您已执行以下操作:
- 将组件添加到了正确的主题中
- 添加组件后刷新了页面
- 根据您的需要调整了所有设置
是的,完全正确。
- 我已将其添加到我的主主题中
- 已刷新页面
- 设置已完成
结果:
![]()
我相当确定我已经找到解决办法了。
我完全忘了跟进这件事
我刚刚提交了一个修复,应该能解决你的问题。如果还有其他问题,请告诉我。
它没有显示在“可更新组件”中,所以我删除了它,并从
GitHub - discourse/discourse-post-badges
重新安装。
现在它已按预期工作。
谢谢——速度真快!
没有问题了。谢谢。
@tshenry 它停止工作了 ![]()
是整个组件有问题,还是又回到了那个设置不工作的原始问题?我刚刚测试了所有功能(包括非英语区域),一切似乎都正常。请提供更多详细信息 ![]()
不,这次它完全停止工作了。
我想我找到原因了。我的徽章名称是土耳其语。我把语言从土耳其语改成了英语。现在我又把它改回土耳其语,它就能用了。
好的。这至少是目前预期的行为。我不认为在通过名称将徽章添加到设置时能避免这种情况。我会考虑增加通过 ID 输入徽章的支持,以使其更加独立于语言环境,但这还需要一段时间才能完成。
警告 - 以下是过去几小时内使用该主题组件的站点的前 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
是的,我们已知悉此问题并将进行改进。
我不确定这是否相关,但最近点击指向徽章页面的链接时出现了大量错误。我为每个用户的自定义徽章创建了一个摘要页面(并配有相应的表情符号),当连续点击类似 [: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
我在所有自定义徽章的描述中都使用了如下链接:
徽章描述后跟一个链接 <a href="/t/topic-slug/id#heading--detailed-descrption-topic">➥</a>
该链接指向详细的徽章描述主题。这在徽章页面上效果很好,但用户会对帖子徽章工具提示中显示的 HTML 代码感到困惑:
如果工具提示中能够移除 <a href=...>Description</a> 标签,仅保留“Description”部分,或许就能解决大多数用例。
这个版本在 2.5.X 中是否已经修复?
@tshenry 我找到了一个变通方法,可以避免多次请求来加载用户数据。我在这个主题组件中使用了它:
你怎么看?
该组件在使用 Sam 添加到核心部分的上一/下一个主题的新键盘快捷键时会导致 JavaScript 错误(干得漂亮)。这个问题有点不可预测,但可以通过使用快捷键跳转到下一个主题直到错误发生来稳定复现。如果我移除该组件,这个错误就永远不会出现。
第 27516 行
这个解决方案目前运行得如何?还有其他人对它进行过审查吗?![]()
提醒一下,我正在记录大家的反馈,但在等待 @sam 提到的改进之前,该组件的开发优先级较低。
我目前还没有尝试过,但看起来使用类似的方法来显示信任等级徽章应该是完全可行的。需要 Sam 提到的改进的是非信任等级徽章。
了解人们如何使用该组件,或者至少他们希望如何使用它,将会很有帮助。
- 信任等级徽章
- 其他徽章
- 两者的混合
如果大家对信任等级有足够的需求,我可以创建一个单独的“信任等级帖子装饰”组件,一旦该组件的性能得到提升,就可以弃用此组件。
顺便提一下,我们已为此开源了一个插件版本,它将徽章与帖子本身一起序列化,以解决上述性能问题。
至于选择展示哪些徽章,用户可在其个人资料中通过一项新的用户专属设置自行完成。
是否还有其他人也遇到该组件停止显示自定义图片上传的问题?它默认显示 Font Awesome 图标;如果未选择 FA 图标,则无论是否已上传自定义图标,都会显示“undefined”。
谢谢!




