above-site-header.hbs コネクタを使用した 2.9.0.beta2 の Handlebars エラー

こんにちは。

Discourseアプリが2つあります。両方を2.9.0beta2にアップグレードしました。1つ目は問題なく完了しましたが、2つ目は Uncaught ReferenceError: Handlebars is not defined というコンソールエラーが発生しました。

2つのアプリの違いは、カスタムテーマが異なることです。壊れた方は above-site-header.hbs コネクタを使用しており、もう1つは使用していません。jsエラーは above-site-header.hbs ファイルを指しているようです。2.9.0beta2では、Handlebarsがロードされる前にこれがロードされている可能性がありますか?安定版(2.8.1)に戻したところ、両方のアプリケーションで問題なく動作しました。何か考えはありますか?

「いいね!」 1

壊れているテーマやサイトのURLを共有していただけると、問題の原因を特定しやすくなります。(あるいは、両方ともシークレットまたはパスワードで保護されている可能性もあります。)

サイトとテーマはどちらもプライベートであるため、残念ながらお見せできません。サイトは現在修正済みです。app.yml のバージョンをデフォルトの tests-passed のままにするのではなく stable に変更すると、このベータ版が問題であることが示唆されます。エラーが発生するファイルは次の場所にあります。

connectors/above-site-header/jc-header.hbs (タイトルで above-site-header.hbs と誤って記載しました。私のミスです)

お役に立てるよう、いくつかのチェックを実行することはできますが、サイトやテーマを共有することはできません。

敬具、
Quinn Koike

それなら、テーマのコピーを作成し、エラーがなくなるまで少しずつ削除していくことをお勧めします。そうすれば、最後に削除したものが原因だったことがわかります。

「いいね!」 1

jc-header.hbs ファイルからコードをいくつか投稿していただけると、参考になります。テーマの簡単な互換性アップデートで済むことを願っています。

こんにちは、最新バージョンとヘッダーメニューバープラグインにも問題があります。

おそらく 2.9.0beta1 にロールバックする必要があるでしょう。

それをどのように行うか、簡単に教えていただけますか?

A

このコンテナはどのGitリビジョンを使用すべきですか? (デフォルト: tests-passed)

#version: tests-passed
version: ‘v2.9.0.beta1’

は以下につながります

I, [2022-02-24T09:38:37.878937 #1] INFO – : cd /var/www/discourse & git checkout v2.9.0.beta1
error: pathspec ‘v2.9.0.beta1’ did not match any file(s) known to git

よろしくお願いします!

今オフィスにいませんが、マシンに戻り次第ここに投稿します。

Handlebars オブジェクトのインポートが古いか、欠落しているようです。

「いいね!」 2

こんにちは。

参考までに、私たちが運用している別のプライベートなDiscourseインスタンスでも、2.9.0.beta2にアップグレードした後、ブラウザコンソールでこのエラーが観測されました。

これにより、DiscoTOCテーマコンポーネントの機能も完全に無効になりました。

古いdiscourse-knowledge-baseプラグインを非アクティブ化した後、システムはブラウザコンソールにエラーがなくなり、正常に動作するようになりました。

よろしくお願いいたします。
Andreas.

「いいね!」 5

こんにちは!私もこの問題が発生しました!私のサイトは公開されていますので、もしよろしければこちらでご覧いただけます:https://forum.simplecraft.us - 使用しているプラグインのリストを提供しますが、Air ThemeとカスタムCSSを使用している以外は、それほど多くのカスタマイズはありません。

すべて私にとっては正常に動作しているように見えますが、投稿、例えば最新の告知の投稿をクリックすると問題が発生します。

プラグインリスト
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-saml.git
          - git clone https://github.com/discourse/discourse-whos-online.git
          - git clone https://github.com/discourse/discourse-adplugin.git
          - git clone https://github.com/discourse/discourse-reactions.git
          - git clone https://github.com/discourse/discourse-automation.git
          - git clone https://github.com/discourse/discourse-user-notes.git
          - git clone https://github.com/discourse/discourse-sitemap.git
          - git clone https://github.com/discourse/discourse-fingerprint.git
          - git clone https://github.com/discourse/discourse-perspective-api.git
          - git clone https://github.com/discourse/discourse-voting.git
          - git clone https://github.com/discourse/discourse-subscriptions.git
          - git clone https://github.com/Simple-Craft/discourse-steam-login.git
          - git clone https://github.com/discourse/discourse-algolia.git
          - git clone https://github.com/discourse/discourse-chat-integration.git
          - git clone https://github.com/discourse/discourse-category-experts.git
          - git clone https://github.com/communiteq/discourse-private-replies.git
          - git clone https://github.com/discourse/discourse-solved.git
          - git clone https://github.com/discourse/discourse-data-explorer.git
          - git clone https://github.com/discourse/discourse-oauth2-basic.git
          - git clone https://github.com/discourse/discourse-jwt.git

テーマのJavaScriptに原因があるようです。以下のようにすると、すべて正常に動作します。

すべてのテーマコンポーネントを無効にし、一つずつ有効にして、原因を特定することをお勧めします。

「いいね!」 2

ありがとうございます!タグアイコンのテーマコンポーネントが何らかの理由で自動更新に設定されていなかったようです。それを更新したらすべて解決しました!

「いいね!」 3

これで苦労している人のために、以前は機能していたカスタムプラグインがありましたが、handlebarsが見つからなくなりました。handlebarsのyarn installを実行し、プラグインで明示的にrequireしたところ、再び動作するようになりました。なぜ今になって明示的にrequireする必要があるのか、以前はそうではなかったのかはわかりませんが、私にとってはそれが解決策となりました。

@HisashiQ カスタムプラグインのコードを共有していただけますか? handlebars を手動でインストールする必要は全くないはずです。上記のトピックの問題は、yarn の依存関係ではなく、JS のロード順序に関連していました。

「いいね!」 2