Ian_W
1
我是一名 community(dot)jenkins(dot)io 的用户(抱歉,我只能发布 2 个链接),据一位管理员称,该网站使用的是由官方 Discourse 团队赞助的 Discourse 实例。标题/源代码中的 Meta 标签显示为 Discourse 2.9.0.beta2
在本周一至周三(2022-03-14/16)之间的某个时间,该网站在旧版 Android Firefox 浏览器上无法加载。具体来说是 Firefox Android 68.11.0。这显然也是其他浏览器(如 Waterfox、FireStick 上的 Silk 浏览器)的核心问题。我以前从未访问过这里,但它也无法加载。页面似乎会获取数据几秒钟,然后变为空白。“请求桌面站点”也显示为空白。“查看源代码”会跳转到一个空白页面。
我在 Jenkins 网站上报告了此问题,管理员指出这可能是“因为 Firefox 68 中没有 replaceAll”。他们还提供了来自 Saucelabs 的证据(大约在 00:17 秒标记处出现错误消息)。
本月早些时候,一项 JavaScript 更改破坏了 StackOverflow 功能(链接如下),这是 StackOverflow/Exchange 网站第二次出现此问题。他们之前在十二月份也曾破坏过一次,然后修复了,我们真诚地希望他们能够撤销该更改并恢复该功能。
有趣的是,我启动了一台运行 FF 52.9.0 ESR 的 WINXP PC,尽管有“您的浏览器太旧,无法在此网站上运行”的横幅,但该网站似乎加载正常,所以这似乎是相当特定/晦涩的问题。
我想请 Discourse 团队审查所做的更改,以及是否有办法缓解此破坏性更改。我知道并非所有内容都能永远得到支持,尤其是在测试范围之外时,但当它被报告并且如果是一个明显的修复程序,并且不会显著影响可操作性时,请考虑一下。我不期望所有功能都可用,只是一些核心功能(至少可以阅读内容)。
StackExchange 链接:meta(dot)stackexchange(dot)com/q/376694
10 个赞
sam
(Sam Saffron)
2
我们当然希望在旧的不受支持的浏览器上至少显示一个只读视图。渲染中断并只显示一个白页是一个错误。
我们将在下周着手处理此回归问题。
8 个赞
david
(David Taylor)
4
replaceAll 在 iOS <= 13.3 上不受支持
此 PR 将添加对此功能的检测,并在需要时回退到基本 HTML 视图:
12 个赞
Ian_W
17
我在 Android 上的旧版 Firefox 上只能取得部分成功。
在 meta.discourse.org 和 community.jenkins.io 上,我都看到了“浏览器太旧”横幅,与运行 FF 52.9.0 ESR 的 WINXP PC 上的情况相同。
但没有主题,只有徽标和页脚 [主页 .. 隐私政策]。
在 Jenkins 网站上,我确实看到了类别、类别描述和“主题”计数,但点击任何类别后,我仍然看不到任何问题。
4 个赞
Falco
(Falco)
19
我在 Firefox 40 中让 meta.discourse.org 渲染了旧的 HTML 版本:
所有低于 77 版本的 Firefox 都应该出现这种情况。
3 个赞
Ian_W
20
如前所述,我的截图来自 Android 版本。该网站在桌面版本上运行似乎没有问题。
我不知道如何从 FF Android 浏览器中提取更多信息来帮助调试。
3 个赞
Falco
(Falco)
21
刚刚在我的手机上安装了已弃用的 fennec Firefox 68.9,现在似乎可以正常工作了:
在尝试重现此 bug 时,有什么想法是我遗漏的吗?
3 个赞
Ian_W
22
嗯,我不太确定该说什么。我刚重置了一部出厂设置的安卓手机(运行的是 7.0,因为它是一部旧手机),下载了 Firefox Android 68.11 APK,安装后导航到 meta(.)discourse(.)org **,然后看到了 之前的截图。
然后情况变得奇怪了。转到 meta(.)discourse(.)org/t/ **,我看到了:
“哎呀!该页面不存在或已设为私有。”
但随后我看到一个“热门”和“最新”主题列表,并且可以看到这个主题。
点击该主题,我看到主题标题,以及“bug”、“pri-high”,但没有内容。
**: 2 链接限制帖子
(也无法通过 UI 上传截图,所以不得不逐个回复上传)
1 个赞
Wake
(Wakefield Morys-Carter)
25
以防万一有人能想出在 iPhone 6 上使用 Discourse 的解决方案,在我最终购买新手机之前,我会一直关注。
1 个赞
Falco
(Falco)
30
对于 iOS 13 或更早版本,或者 Android 上已弃用的 Firefox Fennec,我们应该显示 HTML 视图。
但是,我们未能做到这一点,因为没有 HTML 视图,原因如下:
这在我们代码库中存在已久。
包含爬虫内容以便我们回退到 HTML 视图的成本很高,所以我们是否想将旧版 Safari 添加到
这样它只会在必要时执行?
另一种选择是告诉 Babel 转译 replaceAll / 寻找一个足够好的 polyfill。
抄送 @sam @david @gerhard
5 个赞
Falco
(Falco)
32
3 我担心我们最终不得不这样做,因为制造商放弃的移动设备数量只会随着时间的推移而增加。这将增加填充模板的一些服务器负载,并增大我们在移动设备上的 HTML 体积,但依我看,我们应该这样做。
所以我的建议是,我们执行 3 并研究执行 1 和 2 是否可行。
5 个赞
sam
(Sam Saffron)
33
我们可以颠倒过来,只在特定浏览器上启用移动优化,这样我们仍然可以在 95% 的移动流量上实现优化,同时保持非常安全?
3 个赞