某些用户无法加载直接链接,包含详细说明

大家好,

这可能有点奇怪,今天我注意到某些直接链接似乎不起作用,只会显示“正在加载”而实际上并未加载

如果您已经在论坛上并单击链接,则可以正常工作(我知道这是单页应用程序设计)。

但是,有什么想法可以解释为什么会这样吗?似乎只有在登录时才会出现。

例如,访问
https://community.cyanlabs.net/
并单击任何链接都可以,但是直接访问例如
https://community.cyanlabs.net/t/sync-3-4-22251-feedback-issues/6515/189
将导致此结果

image

但是,访问例如帖子 160 而不是 189 则可以正常工作,
https://community.cyanlabs.net/t/sync-3-4-22251-feedback-issues/6515/160
现在您可能会认为这是因为只有 170 篇帖子,但是单击“到底部”会将 URL 设置为 189,尽管它不起作用。这会导致复制错误的 URL 等,并在共享链接到其他地方时引起问题。

另外,据推测,Discourse 应该检测到 URL 无效,并直接加载主题而不是主题中的特定帖子?


我希望这是一个简单的修复 :thinking:

编辑:经过进一步调查,似乎只有少数几个帐户存在此问题,到目前为止,我的帐户(管理员)和一位名为 Louage 的版主。如果不登录,则可以正常工作;如果以测试用户身份登录(用户和版主),则可以正常工作;如果以我自己的身份登录,则不行……嗯,奇怪。

其他版主也一切正常……这真是个奇怪的问题 :thinking:

对了。

这听起来像是主题组件或插件(可能是 append-tag-apim?)存在问题。您可以尝试安全模式。

感谢您的回复,真巧您这么说,我几分钟前刚试过,但还是老样子

那是我自己的插件,GitHub - cyanlabs/discourse-append-tag-apim: Simple plugin that appends the apim tag to sync1,sync2,sync3,sync4 tagged topics 没做什么太多事情。

https://community.cyanlabs.net/t/sync-3-4-22251-feedback-issues/6515/16022 在您未登录的情况下可以正常工作。

这似乎不太可能是问题所在。

我建议下一步移除这两个非官方插件并重新构建。

谢谢,我现在就试试。如果只影响 2 个用户,那肯定不是什么大问题,但我不能确定是否只影响这 2 个用户,而不是更多用户。

有一点需要注意,我使用的是单独的数据/Web 容器,但两者都是最新的,所以我怀疑这会不会有什么影响?

很遗憾,这样做没有成功,还是老样子

我建议尝试不同的浏览器。

如果只是那两个用户有问题,那大概是他们那边的问题。
链接对其他用户来说是有效的,所以这不太可能是 Discourse 的 bug。

浏览器没有区别,我尝试了手机上的 Chrome、Windows 上的 Chrome、Edge 等,只要我登录我的账户,那些链接就无法工作,Louage 也一样,其他 mod 都可以。我的测试账户也可以。

我不明白这为什么不是 Discourse 的 bug,即使它是一些特定于用户账户本身的问题,那也仍然是 Discourse 的 bug,bug 的根源在哪里,谁知道。但这绝对是 Discourse 端的问题,怎么会是用户电脑的问题,当同一个用户在 Discourse 上以另一个登录用户身份使用同一台电脑时却可以正常工作?

我的意思是,它明确显示“require”未定义,这肯定意味着在尝试查看这些链接时,Discourse 的某些东西没有正确加载。
image

尽管如此,我还是感谢你的帮助,但这绝对是服务器端的问题,而不是客户端的问题。

抱歉重复发帖,但我刚注意到这个主题

也完全不起作用。我想知道这是否有关联?

编辑:好的,这实际上与标志插件有关,但最初的问题仍然存在。

编辑2:日志文件中没有有用的信息

Started GET "/t/sync-3-4-22251-feedback-issues/6515/9999" for xxxx at 2023-05-01 16:21:07 +0000
Processing by TopicsController#show as HTML
  Parameters: {"slug"=>"sync-3-4-22251-feedback-issues", "topic_id"=>"6515", "post_number"=>"9999"}
  Rendered topics/show.html.erb within layouts/application (Duration: 8.2ms | Allocations: 7009)
  Rendered layout layouts/application.html.erb (Duration: 19.8ms | Allocations: 16957)
Completed 200 OK in 237ms (Views: 20.3ms | ActiveRecord: 0.0ms | Allocations: 179458)

编辑3:这绝对是 Discourse 的一个 bug,似乎是某些帖子导致了问题,例如我可以访问
https://community.cyanlabs.net/t/sync-3-4-22251-feedback-issues/6515/341
(341 及以下)

但我无法访问
https://community.cyanlabs.net/t/sync-3-4-22251-feedback-issues/6515/342
(342 及以上)

所以,我拆分了这个主题,现在拆分后的主题无法正常工作,但原始主题可以正常工作,所以 100% 与此主题中的某个帖子有关……

\u003chttps://community.cyanlabs.net/t/sync-3-4-22251-feedback-issues-archived-replies/8977/150\u003e 帖子到 150 都可以正常工作,150 之后的都不行……真奇怪。

1 个赞

如果只是部分用户有问题呢?是网络相关吗?从不同的网络访问是否会有效?

不,这具体是用户的问题,无论使用什么浏览器、什么网络、什么设备,只要我以我(或 Louage)的身份登录,包括冒充,它都无法正常工作。

就我而言,这仍然是 Discourse 的一个错误,所以我已将其移至 #bug。

我不确定我们如何才能收集一些重现步骤来调查这个问题?:thinking:

这是否会发生在所有管理员和/或版主帐户上?/logs 中是否有更多详细信息可以进一步确定问题?

您是否已检查安全模式?

1 个赞

您好,

很遗憾,不行,这只会在我的(管理员)账户和 Louage 的(版主)账户上发生。

/logs 什么也没显示,日志主题中提到的所有日志文件也是如此。

安全模式没有任何区别(上面已提到,但您可能错过了)。