[管理员提示] 您的主题或插件包含需要更新的代码

[管理员提示] 你的一个主题或插件包含需要更新的代码。(ID:discourse.legacy-array-like-object.proxied-array)

遗憾的是,我也无法通过浏览器控制台找到问题所在。之前我有两条这样的提示,其中一条是由于 Locations 插件引起的,但更新后该问题已消失。现在卡在这里,无法继续排查。

受影响的页面:www.xpeng-fahrer.de

你在浏览器控制台里能看到相关提示吗?

我在控制台里没看到任何警告,注册之后也没有。也许这只是针对管理员的某种调整。

建议你用安全模式(Safe Mode)试一下,看看提示是否还会出现——先全部禁用,如果横幅消失了,再分别禁用主题和插件,以便进一步排查问题。

我刚才把那个提示关掉了——它反正也只会每24小时出现一次……所以在安全模式下它没有再弹出来,不过大概是因为我之前已经把它关掉了。

确实如此。不客气。 :wink:

所以这个也是你的插件导致的吗?

但我上面提到的那个,在位置插件更新之后才出现——所以我认为它应该与别的事情有关。

你试过大约一小时前发布的插件更新吗?

我来处理一下,如果之后该提示再次出现,我会再联系你。

相关的 Locations 修复是在一段时间前,4月2日:

如果这个修复在四月份就已经包含在 Locations 插件中了,那现在可能就不是你的问题了。

我很好奇用安全模式测试会得出什么结果。

早上好,

现在那个提示又出现了。我在安全模式下逐个取消了所有勾选——在安全模式下,这个提示并不会出现!

我只要启动一次安全模式,错误提示就消失了——即使退出安全模式后也没有再出现。而且我并没有手动关闭它。

你能列出你使用的插件吗?

以下插件已安装并启用:

https://meta.discourse.org/t/discourse-github/99895https://github.com/discourse/discourse/tree/main/plugins/discourse-lazy-videos

你能在浏览器控制台(按 F12)中粘贴以下代码并按回车键执行吗:

const LegacyArray = window.moduleBroker.lookup(
    "discourse/lib/legacy-array-like-object"
  ).default;

  const originalWarning = LegacyArray.warnArrayDeprecation;

  LegacyArray.warnArrayDeprecation = function (instance, property) {
    console.trace("Deprecated array access", instance.__type, property);
    return originalWarning.call(this, instance, property);
  };

然后,在不刷新页面的情况下,导航到管理后台,看看能否触发该提示。

最后,请将你在控制台中看到的消息复制到这里。

很遗憾,该消息并未收到。

请参见截图。我已经把菜单里的所有选项都点了一遍(是的,有时候点得有点快)。

这会不会是位置(Locations)的问题?目前我在地图的 API 密钥上遇到了一些麻烦——虽然我已经填入了新的密钥,但地图上仍然显示该提示(见截图)。

不,我认为这不是 Locations 插件的问题——如前所述,修复补丁已经在四月份发布了——不过我可能说错了。

请尝试移除 Locations 插件,看看问题是否完全消失。

@darkpixlz

我不知道为什么要移动这些帖子。

即使禁用了 Locations 插件,错误信息也依然会出现……

基础地图由 Carto 提供,自 8 月底起需要 API 密钥。每月最多 500 万次请求免费使用:

请将带有您密钥的 Carto URL 添加到 Location map tile layer 字段中。

这些帖子是从原始支持主题移动到这里来的。

你认为 API 密钥能解决他正在调试的 [Admin Notice] One of your plugins or themes contains code that needs updating (ID:discourse.legacy-array-like-object.proxied-array) 错误吗?

我觉得我们应该先关注那一个。控制台输出是为了回答 @merefield 的问题而分享的,并不是因为 locations 插件有问题。