[管理者通知] テーマまたはプラグインに更新が必要なコードが含まれています。 (id:discourse.html-safe-helper)

警告 [subject] が表示され続けており、その原因がどこから来ているのか分かりません。

コンソールには類似のエラーが表示されています:

DEPRECATION NOTICE: `htmlSafe` from ‘discourse/helpers/html-safe’ is deprecated. Use `trustHTML` from ‘@ember/template’ instead. [deprecated since Discourse 2026.3.0] [deprecation id: discourse.html-safe-helper]

プラグインとテーマのフォルダ内で “htmlSafe” を検索しましたが、含まれていたのは “docker_manager” というプラグインだけで、おそらく無効化済みだと思います(plugins/docker_manager を削除し、config/official_plugins.json からエントリを削除しました)。

それでもなおエラーが発生しています。他にどこを確認すべきでしょうか?

エラーの原因となっているテーマコンポーネントへのリンクがあるはずです。Discourse_dockerが問題ではありません。

何を言っているのか分かりません。テーマはファイルシステムではなくデータベースに保存されているため、その方法では検索できません。フォーラムのURLを共有していただければ(ログイン必須でなければ)、誰かがそれを見つけられるようお手伝いできるはずです。

おそらくないと思います。@rbos さんの以前の投稿をきっかけに https://forum.pkp.sfu.ca/ を確認してみたところ、ブラウザのコンソールで以下のようなことが確認できました:

80b72542d6.css:1  Failed to load resource: the server responded with a status of 403 ()
deprecated.js:54 [THEME 14 'Versatile Banner'] DEPRECATION NOTICE: The file 'theme-14/discourse/components/versatile-banner-column.hbs' uses the deprecated .hbs extension. Refactor it to use '.gjs' instead. [deprecation id: discourse.hbs-extension] [info: https://meta.discourse.org/t/398896]
deprecated @ deprecated.js:54
deprecated.js:54 [THEME 14 'Versatile Banner'] DEPRECATION NOTICE: The file 'theme-14/discourse/components/versatile-banner.hbs' uses the deprecated .hbs extension. Refactor it to use '.gjs' instead. [deprecation id: discourse.hbs-extension] [info: https://meta.discourse.org/t/398896]
deprecated @ deprecated.js:54
deprecate.js:106 DEPRECATION: Importing `inject` from `@ember/service` is deprecated. Please import `service` instead. [deprecation id: importing-inject-from-ember-service] This will be removed in ember-source 7.0.0. See https://deprecations.emberjs.com/id/importing-inject-from-ember-service for more details.
    at deprecate.js:90:19
    at re.<computed> (handlers.js:10:7)
    at deprecate.js:116:7
    at re.<computed> (handlers.js:10:7)
    at dae (index.js:75:7)
    at index.js:12:5
    at re.<computed> (handlers.js:10:7)
    at fae (index.js:115:3)
    at re.<computed> (handlers.js:10:7)
(anonymous) @ deprecate.js:106
deprecate.js:106 DEPRECATION: Importing `inject` from `@ember/service` is deprecated. Please import `service` instead. [deprecation id: importing-inject-from-ember-service] This will be removed in ember-source 7.0.0. See https://deprecations.emberjs.com/id/importing-inject-from-ember-service for more details.
    at deprecate.js:90:19
    at re.<computed> (handlers.js:10:7)
    at deprecate.js:116:7
    at re.<computed> (handlers.js:10:7)
    at dae (index.js:75:7)
    at index.js:12:5
    at re.<computed> (handlers.js:10:7)
    at fae (index.js:115:3)
    at re.<computed> (handlers.js:10:7)
(anonymous) @ deprecate.js:106
deprecate.js:106 DEPRECATION: Importing `inject` from `@ember/service` is deprecated. Please import `service` instead. [deprecation id: importing-inject-from-ember-service] This will be removed in ember-source 7.0.0. See https://deprecations.emberjs.com/id/importing-inject-from-ember-service for more details.
    at deprecate.js:90:19
    at re.<computed> (handlers.js:10:7)
    at deprecate.js:116:7
    at re.<computed> (handlers.js:10:7)
    at dae (index.js:75:7)
    at index.js:12:5
    at re.<computed> (handlers.js:10:7)
    at fae (index.js:115:3)
    at re.<computed> (handlers.js:10:7)
(anonymous) @ deprecate.js:106
app.js:367 ℹ️ Discourse v2026.8.0-latest.1 — https://github.com/discourse/discourse/commits/7df32723f1 — Ember v6.10.1
deprecated.js:54 DEPRECATION NOTICE: `htmlSafe` from 'discourse/helpers/html-safe' is deprecated. Use `trustHTML` from '@ember/template' instead. [deprecated since Discourse 2026.3.0] [deprecation id: discourse.html-safe-helper]
deprecated @ deprecated.js:54
deprecated.js:54 DEPRECATION NOTICE: `htmlSafe` from 'discourse/helpers/html-safe' is deprecated. Use `trustHTML` from '@ember/template' instead. [deprecated since Discourse 2026.3.0] [deprecation id: discourse.html-safe-helper]
deprecated @ deprecated.js:54
deprecated.js:54 DEPRECATION NOTICE: `htmlSafe` from 'discourse/helpers/html-safe' is deprecated. Use `trustHTML` from '@ember/template' instead. [deprecated since Discourse 2026.3.0] [deprecation id: discourse.html-safe-helper]
deprecated @ deprecated.js:54
80b72542d6.css:1  Failed to load resource: the server responded with a status of 403 ()
Node cannot be found in the current page.

どのコンポーネントがこのメッセージの原因になっているかについては、詳細を見つけられませんでした。ただ、Versatile Banner から調べるのが良いアイデアかもしれません。

リンクではないような気がするが、状況は明確だ。おそらく最新バージョンを取得するだけで済むと思う。

なぜそれが明白なのか、教えていただけますか?hbsファイルで非推奨のメッセージが表示される原因であることは明確に把握しています。しかし、html-safeに関するメッセージを引き起こしている指標は見当たりません。古いコンポーネントが他のメッセージの原因になっている可能性は高いように思えますが、それ以外のコンポーネントが原因ではないとどうして確信できるのでしょうか?

奇妙だ。Docker コンテナ内の Discourse フォルダで find を実行しても “theme-14” ディレクトリは見つからない。では、それがどこから読み込まれているのか分からない。もちろん非推奨の通知は見ていたが、“html-safe” に言及していたのは、上記で述べたものの一つだけだった。

データベースに保存されているとは、とても興味深いですね。ありがとうございます。私はDiscourseに詳しくなく、テーマはファイルシステムにあるものと推測していました。

このソフトウェアは、年に1回触るかどうか、という程度です。:slight_smile:

(明確にしておきますが、Discourseが(ほぼ)バグに強く、安定していることには感謝しています!私がこれほどDiscourseに不慣れになることができるのは、皆さんの努力に対する称賛です。私がよく知っているソフトウェアは、往々にして私が最も苛立つソフトウェアでもあります!)

追記:フォーラム管理のウェブパネルにアクセスし、「versatile」と検索するとそのコンポーネントが表示され、そこから更新することができました。これによりメッセージが解消されました。

ご協力ありがとうございました。

アップグレード時に自動更新する設定があります