@markvanlan 将装饰器从 ember-addons/ember-computed-decorators 迁移到 discourse-common/utils/decorators 的操作,一旦大家点击那个蓝色的更新按钮,就可能导致许多插件和主题失效。
是否可以在保留现有装饰器(同时新增)的基础上,为我们留出过渡时间?
@markvanlan 将装饰器从 ember-addons/ember-computed-decorators 迁移到 discourse-common/utils/decorators 的操作,一旦大家点击那个蓝色的更新按钮,就可能导致许多插件和主题失效。
是否可以在保留现有装饰器(同时新增)的基础上,为我们留出过渡时间?
这不应是一个破坏性变更。在 discourse-loader 文件中,我们添加了一个别名,因此每当尝试导入 ember-addons/ember-computed-decorators 时,它会自动加载 discourse-common/utils/decorator 替代。
是的,我看到了。我不太确定原因,但似乎并非在所有情况下都能正常工作。我遇到了很多 RequireJS 错误,这些错误在我改用新的导入方式后就消失了。
你能否检查一下,如果使用 require 而不是 import,问题是否还会出现?
我以为我已经修复了那个 bug。
你好,
我在我的 Discourse 网站上遇到了以下错误信息:
![]()
这是否仍需要在代码库中进行更新?
我无法确切看到该错误来自哪里(是哪个插件正在使用 ember-addons/ember-computed-decorators),但它最终需要被修复。
这是一个警告而非错误,因为 ember-addons/ember-computed-decorators 目前仍可正常运行。
感谢 @markvanlan,
您使用或推荐什么方法来识别正在使用已弃用资源的插件?
你可以查看你的实例上安装了哪些插件,然后逐个访问 GitHub 上的仓库,搜索 ember-addons/ember-computed-decorators。
我相信我们的一些官方 Discourse 插件仍然需要更新这个依赖,所以它可能就在我们的某个仓库中。
您能展开它并查看完整的堆栈跟踪吗?
我不知道如何查看浏览器控制台警告背后的堆栈跟踪?
不过我知道如何 grep 插件::smile:
$ grep -r ember-addons/ember-computed-decorators plugins/|grep import|awk -F / '{print $2}'|uniq|sort
discourse-canned-replies
discourse-local-dates
discourse-presence
discourse-push-notifications
discourse-saved-searches
procourse-memberships
你好,我目前无法复现该问题。不过,杰出的 @RGJ 刚刚更新了我们的网站插件,我想这已经解决了错误?他向我指出了这些更新:
DEV: Find/replace deprecated decorators · discourse/discourse-data-explorer@277346b · GitHub
干得漂亮,Richard!![]()
我认为这没什么好恐慌的。
插件开发者也有责任尽快尽量减少这些警告。
我最近已经解决了不少问题,未来还会有更多。这就像一场没有终点的故事;)
它们只是警告,除非被长期忽视,否则真的没什么好担心的。
谢谢。我很高兴 Discourse 能够持续改进并维护其代码!