运行时错误登录bug

登录(使用电子邮件和密码进行本地登录)因以下运行时错误而无响应:

**publickeycredential is not defined.**
passkeyConditionalLogin
installModifier
install
untrack
install

每次单击控制台中出现的登录按钮时都会发生。

环境:仅限邀请,仅登录系统。尝试以管理员身份登录。我唯一能进入的方式是使用包含一次性会话链接的电子邮件。

感谢您的报告,我会查看。您知道这是在哪个浏览器(或哪些浏览器)上发生的吗?

1 个赞

firefox (Tor)。如果您能修复它,我将不胜感激!
重现的设置:仅限注册用户和仅限邀请。

在 Firefox 中(Chrome 没有)我也看到了一个错误:

1 个赞

我以为我疯了!对我来说,它是 PublicKeyCredential 未定义。您也只邀请和登录吗?

有什么更新吗?这对我来说太糟糕了。

修复即将合并 :+1:

2 个赞

太棒了!感谢你们两位以及所有为此付出努力的人。那么我运行 rebuild 之后应该就可以了,对吧?还是 discourse-setup 也会从仓库拉取?另外,我认为默认的 onion 模板有一个错误:onion 链接会重定向到 clearnet 页面,而且我必须运行 doctor 脚本来修复一些错误。我不认为手动关闭 nginx 中的重定向是有意义的,因为其余的请求仍然会通过 clearnet,对吧?

感谢提交。通常什么时候会合并?

我可以在技术上自己添加那几行代码,这样就不会因为重建而增加停机时间了吗?应用程序目录在哪里?重新启动启动器就足够了吗?

它正在进行中,它正在进行中。我刚刚推送了一个修复程序的修改,这很棘手,因为浏览器的条件式 UI 对 passkeys 的支持不均匀。

有一个 API 可以检查该功能是否受支持,在此处进行了描述:https://developer.mozilla.org/en-US/docs/Web/API/PublicKeyCredential/isConditionalMediationAvailable,但对 isConditionalMediationAvailable() 的调用在不同浏览器上的行为不同。

在 Firefox 中,它完全不受支持。在 iOS 上的 Safari 中,该功能受支持,但调用 isConditionalMediationAvailable() 会返回 false……因此,我不得不修改代码,专门为 Firefox 添加一个功能检查。

一旦测试通过,我将合并更改,它应该在大约一小时后可用。

3 个赞

谢谢,我看到了第二个提交……我正在本地更改内容,所以现在不重新构建,只重启容器。这样可以吧?你刚才也是手动本地更改的吗?

我刚刚添加了更改并重新启动了容器,但它仍然不起作用。我仍然收到 Publickeycredentials is not defined 错误。

PR 我已经合并了,一旦它进入 tests-passed,你就可以重建,这应该可以解决问题。我之前在 macOS 上使用 TOR 和 Firefox 本地测试过。

请留意 https://github.com/discourse/discourse/tree/tests-passed,一旦提交出现在那里,你就可以重建了。

2 个赞

我需要重建吗?为什么当我本地编辑文件并重启启动器时它不起作用?因为我刚刚做了同样的事情

由于您所做的更改是在源文件上,因此需要重新构建资源。

这次更新要多久才能正式发布?我的安卓应用显示这个错误

修复已合并,并且已部署到 meta.discourse.org。您可以在 Android 设备上重现此问题吗?如果可以,请分享您的浏览器版本,谢谢。

1 个赞