実行時エラー ログイン バグ

実行時エラーのため、ログイン(メールアドレスとパスワードによるローカルログイン)が応答しません。

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

コンソールに表示されるログインボタンをクリックするたびに発生します。

環境:招待制、ログイン専用システム。管理者のログインを試みています。ログインできるのは、ワンタイムセッションリンクを含むメールのみです。

レポートありがとうございます。確認します。どのブラウザ(またはブラウザ)で発生しているかご存知ですか?

「いいね!」 1

firefox (Tor)。修正していただけると大変助かります!
再現するためのセットアップ:登録ユーザーのみ、招待のみ。

Firefox(Chromeでは見られない)でもエラーが見られます。

「いいね!」 1

私は気が狂うかと思いました!私にとっては、PublicKeyCredential が定義されていませんでした。あなたも招待とログインのみですか?

何かアップデートはありますか?私にとってはかなり悲惨な状況です。

修正がまもなくマージされます :+1:

「いいね!」 2

くそ!お二人とも、そして修正に協力してくださった皆さん、ありがとうございます。では、リビルドを実行すれば大丈夫ということですね?それとも、discourse-setupもリポジトリからプルしてくるのでしょうか?また、デフォルトのオニオンテンプレートにエラーがあると思います。オニオンリンクがクリーンネットページにリダイレクトされ、いくつかのエラーのためにドクター スクリプトを実行する必要があります。Nginxで手動でリダイレクトをオフにしても意味がないと思います。なぜなら、他のすべてのリクエストはクリーンネットを経由するからです。

コミットありがとうございます。通常、いつマージされますか?

それらの数行は自分で技術的に追加できますか?そうすれば、再構築によるダウンタイムをさらに増やす必要はありません。アプリディレクトリはどこにありますか?ランチャーの再起動だけで十分でしょうか?

もうすぐです、もうすぐです。修正にいくつか変更を加えました。パスキーの条件付きUIはブラウザによってサポート状況がまちまちなため、これは難しいです。

機能がサポートされているかどうかを確認するAPIがありますが、PublicKeyCredential: isConditionalMediationAvailable() static method - Web APIs | MDN ここで説明されているように、isConditionalMediationAvailable() の呼び出しはブラウザによって動作が異なります。

Firefoxでは完全にサポートされていません。iOSのSafariでは機能はサポートされていますが、isConditionalMediationAvailable() を呼び出すと false が返されるため、Firefox専用の機能チェックを追加するようにコードを変更する必要がありました。

テストがパスしたら変更をマージします。その後、約1時間で利用可能になるはずです。

「いいね!」 3

ありがとうございます。2番目のコミットを確認しました。ローカルで変更しているので、今は再構築せず、コンテナを再起動するだけです。それでうまくいきますよね?ローカルで手動で実行したのですか?

変更を追加してコンテナを再起動しましたが、まだ機能しません。Publickeycredentials が定義されていないというエラーが引き続き表示されます。

PRをマージしました。tests-passed に入ったら、再ビルドすれば問題が解決するはずです。macOSのTORとFirefoxでローカルテストを行いました。

コミットが https://github.com/discourse/discourse/tree/tests-passed に表示されたら、再ビルドできます。

「いいね!」 2

再構築が必要ですか? なぜローカルでファイルを編集してランチャーを再起動しても機能しないのですか? まさに今やったばかりなのに。

ソースファイルに変更を加えているため、アセットを再構築する必要があります。

このアップデートはいつ公式になりますか?私のAndroidアプリではこのエラーが表示されています

修正はマージされ、meta.discourse.org にデプロイされたようです。Android デバイスでこの問題を再現できますか?もしそうであれば、ブラウザのバージョンを教えてください。

「いいね!」 1