fkohrt
1
こんにちは!
2.4.0.beta1 から 2.4.0.beta2、そして 2.4.0.beta4 へのアップグレード中(どの段階で起きたか正確にはわかりません)に、新規ユーザー向けの登録モーダルが表示されなくなりました。
ユーザー認証には OpenID Connect プラグインを使用しています。ログインは必須で、ローカルログインは無効化されており、新規登録は許可されています。ログイン必須を無効化するか、ローカルログインを有効化すると一時的に問題は解消され、ユーザーは再度登録できるようになります。ただし、ローカルログインは引き続き無効のままにしたいと考えており、ログイン必須も維持したいです。
OIDC のログは正常で、新規ユーザーの認証情報が含まれる Fetched userinfo response が取得されていますが、モーダルは表示されません。新規インストールからバックアップを復元して試しましたが、問題は続いています。バックアップを復元しない場合はモーダルが表示されるため、バックアップに何かしらの要因が問題を引き起こしているようです:confused:
現在の Discourse バージョンは 2.4.0.beta6 で、このバージョンでも同様の問題が発生しています。
david
(David Taylor)
2
サイトにテーマコンポーネントがインストールされていますか?セーフモードでも問題は発生しますか?
fkohrt
3
素晴らしい、おっしゃる通りでした!テーマからナレッジベースコンポーネントを削除したところ、モーダルが再び表示されるようになりました!明らかに、そのアップグレードの間にコンポーネントをインストールしてしまったようです。
奇妙なことに、これはバックアップを復元した後のみ発生し、コンポーネントを有効にしたままクリーンインストールすると、そのような問題は発生しません。とりあえず無効にしておきます。そもそも使っていなかったので。
お手伝いいただき、ありがとうございました!
justin
(Justin DiRose)
4
それは非常に奇妙ですね。そのコンポーネントに関連して、ブラウザの開発者コンソールなどで特定のエラーをお見かけになったことはありますか?
fkohrt
5
確かに、https://<HOST>/logs で以下のように表示されます:Uncaught TypeError: Cannot read property 'knowledge-base' of undefined
さらに、TypeError: E.idMap(...) is undefined というエラーが 8 回発生していますが、Knowledge Base コンポーネントに関する言及はありません。このエラーのバックトレースは以下の通りです(URL: https://<HOST>/assets/application-301651b1c7400a000974a9cecafd44ad3304cf647cf17bcfa7af68e9ed1ac4b7.js、行: 9、列: 20924、ウィンドウの場所: https://<HOST>/login):
findById@https://<HOST>/assets/application-301651b1c7400a000974a9cecafd44ad3304cf647cf17bcfa7af68e9ed1ac4b7.js:9:20924
findByIds/<@https://<HOST>/assets/application-301651b1c7400a000974a9cecafd44ad3304cf647cf17bcfa7af68e9ed1ac4b7.js:9:21063
findByIds@https://<HOST>/assets/application-301651b1c7400a000974a9cecafd44ad3304cf647cf17bcfa7af68e9ed1ac4b7.js:9:21035
initialize/</<@https://<HOST>/theme-javascripts/ce296772003fb6162b99b62bf564066966940cc8.js?__ws=<HOST>:103:48
value/<@https://<HOST>/assets/application-301651b1c7400a000974a9cecafd44ad3304cf647cf17bcfa7af68e9ed1ac4b7.js:14:5447
C@https://<HOST>/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:6:19799
trigger@https://<HOST>/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:9:20668
s/</<@https://<HOST>/assets/application-301651b1c7400a000974a9cecafd44ad3304cf647cf17bcfa7af68e9ed1ac4b7.js:13:31963
y</t.invoke@https://<HOST>/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:16:9739
y</t.flush@https://<HOST>/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:16:8732
b</t.flush@https://<HOST>/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:16:10782
H</n._end@https://<HOST>/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:16:15440
H</n.end@https://<HOST>/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:16:12110
H</n._runExpiredTimers@https://<HOST>/assets/ember_jquery-7dfac344d893a6c10c016353b994db2c6f42af630322ea6da3399c220fcc50ed.js:16:16800
justin
(Justin DiRose)
6
その原因について、いくつか思い当たる点があります。
気になるのですが、機能が有効になっていた間に kb categories テーマ設定にカテゴリを指定されていましたか?コードを確認したところ、カテゴリが選択されていない場合に問題が発生する可能性がある箇所がありました。
編集:問題に対処できると思われる修正をプッシュしました。
fkohrt
7
はい、私はカテゴリをリストしていませんでした。しかし、カテゴリを選択してもモーダルは表示されません。
関連しているかもしれませんが、全く別の問題かもしれません:カテゴリが表示されている間、default to kb view 設定は効果がなく、KB ビューを有効にするには KB ボタンと Latest ボタンを行き来してクリックする必要があります。
編集: コンポーネントを更新したところ、現在は以下のように動作します:カテゴリリストが空の場合、モーダルが表示されます
。しかし、カテゴリを選択すると、モーダルはそれ以上表示されなくなります。
justin
(Justin DiRose)
8
ログに同じエラーが表示されていますか?
ここで起きているのは、ロードされる前にナレッジベースコンポーネントを検索しようとするルートがトリガーされていることです。
fkohrt
9
はい、ただしスタック不再り、バックトレースの 4 行目が異なります。他の行は上記と同じです。
initialize/<</@https://<HOST>/theme-javascripts/<VARIES>.js?__ws=<HOST>:103:48
justin
(Justin DiRose)
10
未初期化のアイテムへのクエリを実行しようとするのを防ぐため、追加のチェックを含むコミットをもう一つ追加しました。
fkohrt
11
変わりません。TypeErrors が引き続き発生しています。
justin
(Justin DiRose)
12
このコミットで、その特定のエラーメッセージを修正することができました。モーダル問題の解決にはならないかもしれませんが、関連しているようです。
fkohrt
13
私の確認では問題ありません。カテゴリを選択していてもモーダルが表示されるようになりました!