Safari无法上传图片

我可以肯定地确认,在我将 Safari 更新到 v15.5 时,这种情况并没有开始。那是在 2022 年 5 月 18 日。我第一次记录这个问题是在 2022 年 6 月 14 日。我是 Discourse 平台论坛的版主,通常每天上传至少 2-3 张图片。我可以从工作记录中证明,在更新 Safari 后但在首次注意到问题之前,我在 Discourse 托管的论坛上上传了图片。

2 个赞

为了记录在案,我刚刚更新到 Safari v15.6。这并未对该问题产生任何影响。

1 个赞

是的,我们会解决这个问题,请耐心等待,非常抱歉让您久等了。

要检测此问题非常困难,我们有几个选择:

  1. 将占位符从 uploading ... 更改为使用 …

  2. 使用不区分大小写的“正则表达式”替换。

  3. 禁用 execCommand 作为在此实例中插入文本的机制(反正它也没有意义,因为粘贴图像会破坏撤销堆栈)。

  4. execCommand 的相关内容放在站点设置后面,默认禁用。

或者以上选项的组合。

这在 David 的待办事项列表中,我们正在跟踪。

4 个赞

(2)是最容易挥动的,所以我暂时选用了它。如果这是一个更广泛的问题,那么我们可以考虑进行更根本性的更改,例如 3 / 4。这是一个 PR:

7 个赞

@tut 该修复程序现已在 Meta 和您的网站上上线。请您尝试一下,并告知我们情况是否有所改善?

5 个赞

问题似乎已解决。这是我在 Safari v15.6 中拍摄的您之前帖子的截图(非引用):

6 个赞

Safari 上传图片的问题又出现了。症状与 Cannot upload images with Safari 中描述的完全相同,但有一个例外。现在这个问题是间歇性的。我观察到以下情况:

  • 我估计整体成功率约为 90%。
  • 在同一次登录会话中,可能会出现上传停滞,尽管在此之前已成功上传了多种格式的许多其他图片。
  • 有时,在尝试几次后上传会成功。
  • 有时图片无法上传,但如果立即复制并粘贴另一篇 Discourse 帖子中的类似图形图片(图片本身,而不是其代码),图片就会出现在新帖子中。(我从未见过该解决方法失败,但这并不意味着它永远不会失败。)
  • 有时,特定的图片无法上传,但同一格式的另一张图片却可以。然而,通常情况下,如果一张图片无法上传,那么所有图片都无法上传,帖子必须在另一个浏览器中完成。
  • 我主要(但并非仅限于)注意到这个问题发生在相对较小的图片上。但我经验不足,无法确定是否存在大小阈值。这个观察结果很可能只是巧合。
2 个赞

它又卡在这个占位符上了吗?还是行为略有不同?

浏览器控制台有任何错误/警告吗?

行为似乎完全相同。

我刚检查了控制台,它已经被清除了(并非我的操作)——也许是通过开始一个新会话?如果行为再次发生,我会捕获控制台日志。

1 个赞

嗯,花了将近两周的时间和数百次成功的上传,但问题终于再次出现。这次,第二次上传尝试立即成功了。开发人员控制台日志中的最后两行似乎清楚地指向网络连接是罪魁祸首:

[Warning] [PLUGIN discourse-adplugin] (vendor-3525a44c5f1c281745e16fd0c569078e0ad263d863a3e3d95fe3a8ca080d252b.br.js, line 4586)
“弃用通知:\”message-bus:main\” 已弃用,请改用\”service:message-bus\” (自 Discourse 2.9.0.beta7 起弃用) (将在 Discourse 3.0.0 中移除)”
[Warning] [PLUGIN discourse-cakeday] (vendor-3525a44c5f1c281745e16fd0c569078e0ad263d863a3e3d95fe3a8ca080d252b.br.js, line 4586)
“弃用通知:\”site-settings:main\” 已弃用,请改用\”service:site-settings\” (自 Discourse 2.9.0.beta7 起弃用) (将在 Discourse 3.0.0 中移除)”
[Warning] [PLUGIN discourse-canned-replies] (vendor-3525a44c5f1c281745e16fd0c569078e0ad263d863a3e3d95fe3a8ca080d252b.br.js, line 4586)
“弃用通知:\”current-user:main\” 已弃用,请改用\”service:current-user\” (自 Discourse 2.9.0.beta7 起弃用) (将在 Discourse 3.0.0 中移除)”
[Warning] [PLUGIN hosted-site] (vendor-3525a44c5f1c281745e16fd0c569078e0ad263d863a3e3d95fe3a8ca080d252b.br.js, line 4586)
“弃用通知:\”site:main\” 已弃用,请改用\”service:site\” (自 Discourse 2.9.0.beta7 起弃用) (将在 Discourse 3.0.0 中移除)”
[Error] Failed to load resource: The network connection was lost. (poll, line 0)
[Error] Failed to load resource: The Internet connection appears to be offline. (poll, line 0)

除非这个问题再次出现并伴有不同的症状,否则我认为我们可以认为它已经解决了。不过,我感到困惑的是,在第一次修复后出现问题时,控制台日志没有显示类似的错误。

5 个赞