アップデート後のテーマコンポーネントに関する重大な問題

このコミットにアップデートしました: Commits · discourse/discourse · GitHub 2f398db9b66f19220b5a7f56721a68f41dcdeeec

2つの異なるテーマコンポーネントが、私のサイトを完全に壊してしまいます。それらは「Modern Category + Group Boxes」 (Air Theme) と Avatar Size and Shape です。

これらはサイトを使い物にならない状態にします(ループ?)。FirefoxとChrome(デスクトップ)の両方で発生します。

プラグインなしで、また異なるテーマで単独で試しました(つまり、プラグインなしのセーフモードで、単独のテーマで)、したがって、私のインスタンス固有の問題ではないと思います。

コンソールには次のような行が表示されます。

Uncaught TypeError: Cannot read properties of null (reading ‘syscall’)

Uncaught (in promise) TypeError: Invalid value used as weak map key

message-bus.js:118 MESSAGE BUS FAIL: callback /latest caused exception TypeError: Cannot read properties of null (reading ‘syscall’)

一時的な解決策として、問題が解決するまでユーザーを一般的なテーマに強制的に移行させています。このエラーを再現できるかどうか教えてください。

「いいね!」 4

申し訳ありませんが、今のところ再現できません

「いいね!」 2

私も自分のサイトで同じ問題が発生しています。例えば、ログアウトすると、ページが真っ白になり、同じエラーが表示されます。一部のユーザーからは、ページが空白になるためログインできないという報告もあります。ランダムに発生しているようです。

主な問題は、原因を示す明確なエラーメッセージがないことです。テーマコンポーネントを確認して追跡しようとしました。ほとんどを gjs に更新しましたが、興味深いのは、特定のコンポーネントを非アクティブ化してから再度アクティブ化すると、エラーなしでサイトが再び機能し始めることです。しかし、まだ原因はわかっていません… 問題は(カスタム)テーマコンポーネントが存在するページでのみ発生しているようです。少なくとも、問題がコンポーネントのいずれかから来ているという手がかりになります。

「いいね!」 1

これを手がかりに特定できるかもしれません。

ヘルパーを確認してください!

それが起こっているページ/サイトを共有してもらえますか @Don @piffy

「いいね!」 1

アバターコンポーネントのみのシンプルなテーマをここに設定しました: Elite Fourum - E4 - efour

https://www.elitefourum.com/latest?safe_mode=no_plugins&preview_theme_id=39

(デスクトップのFirefoxとChrome)でこのリンクから問題を再現できます。


モダンカテゴリ + グループボックス: Elite Fourum - E4 - efour

https://www.elitefourum.com/?safe_mode=no_plugins&preview_theme_id=58

こちらは再現が難しいようです。管理者アカウントでログインしている場合(ChromeとFirefox)に問題が発生しますが、ダミーアカウントで試した場合は発生しません。両方のテーマコンポーネントでバグは似ているようなので、片方を修正すればもう片方も解決するかもしれません。

お役に立てば幸いです!

「いいね!」 1

解釈可能なエラーメッセージとして最も近いものは次のとおりです。

client-error-handler.js:125 [THEME 39 ‘Test’] Error: admin/components/color-input モジュールが見つかりません (require) からインポートされました

customize-edit-category-general.js は Air Theme から来ています。

コアでは:

これも同じ問題のようです: Forum navbar is repeating

「いいね!」 1

これにより、air テーマの color-input エラーが修正されます。しかし、この問題は新しいものではないため、これらのレンダリングエラーの原因である可能性は低いと思われます。

「いいね!」 2

@piffy 最新の tests-passed に更新してみていただけますでしょうか。color-input の修正が役立つかもしれません。

再ビルド後も問題が解決しない場合は、以下をお試しください。

./launcher enter app
rails c
Discourse.clear_all_theme_cache!

お時間があれば @don さんも同様にお願いします。

これで問題が解決した場合、先週 Ember のバージョンを上げた際に発生するはずだったテーマキャッシュの無効化に問題があることを示唆しています。

「いいね!」 2

Davidさん、ありがとうございます。これでうまくいきました。

「いいね!」 1

テーマキャッシュのリセットで解決しましたが、アップデートでは解決しませんでした。

「いいね!」 2

承知いたしました。確認ありがとうございます。テーマのキャッシュシステムでこの問題を解決し、手動での対応が不要になるように試みます。

それまでの間、この問題が発生した他のユーザーのために、以下の手順をコンソールで実行してください。

Uncaught TypeError: Cannot read properties of null (reading ‘syscall’)
Uncaught (in promise) TypeError: Invalid value used as weak map key

以下の手順をコンソールで実行してください。

./launcher enter app
rails c
Discourse.clear_all_theme_cache!
「いいね!」 4

@piffy @Don お二人ともシングルコンテナの標準インストールを実行していますか?

「いいね!」 1

はい、単一コンテナの標準インストールを使用しています。

「いいね!」 1

DigitalOcean 上で Discourse をシングルコンテナで実行しており、Ubuntu 20.04.6 LTS (公式サポートは終了しているようです) を使用しています。

標準インストールからの主な変更点は以下の通りです。

「いいね!」 1

もう一つ質問があります。最初に問題が発生したとき、UIのアップデートを実行していましたか、それともCLIの再構築を実行していましたか?

CLI

投稿の文字数制限(20文字)を克服するために、さらに単語を追加します

「いいね!」 1

はい、私もです。最初にUIのアップデートを行いました。

「いいね!」 1

問題を再現できませんでしたが、UIベースのアップグレードの動作方法に特有の可能性のある問題が1つ見つかりました。これで解決するはずです。

再コンパイルも強制されるため、このバグの影響を受けているサイトは、次のアップデート後に修正されます。

「いいね!」 5