3件の投稿が新しいトピックに分割されました:テーマコンポーネントでの新しいFontawesome 6アイコンに関する問題
@awesomerobot 投稿の指示に(限られた)能力の限り従いましたが、いくつかの問題に直面しています。そのうちの1つは、Font Awesomeアイコンの変更に関連していると思いますが、ここではそれに対処しましょう。
コンソールで何が起こっているかのスクリーンショットを以下に示します。
非推奨通知に焦点を当てると、「search」アイコンが問題であり、新しいアイコンは「magnifying-glass」と呼ばれているようです。開発者ツールの検索機能で「search」を検索すると(当然ながら)多くの結果が表示されます(278ファイルに6,504行が一致)。しかし、元の投稿の段落3に表示されているような結果は全く見当たりません。
この問題を引き起こしているコンポーネントを見つけるための提案をいただけると幸いです!
emberjsの問題については、後ほど別の投稿で報告します。
ありがとうございます。通常、Discourseは簡単ですが、今回は困惑しています。
Hey @PatrickF
Advanced Search Banner をインストールしていませんか?
もしそうであれば、コンポーネントが最新の状態か確認してもらえますか?
1ヶ月前に更新されたようですが:
ああ、それは良くないですね ![]()
JSとCSSのソースマップをオフにすると、結果のファイル数を減らすことができます。その後、テーマ内の特定の結果を探すことができます。
はい、検索バナーは確かにインストールされており、しばらく前に誰かがカスタマイズしました。今すぐ確認します。
よく見つけました、ありがとうございます!
追記:
search-icon.gjs に改行が必要なことがわかりました。
@icon="magnifying-glass"
コンポーネントをエクスポートしてこのファイルをダウンロードしましたが、修正したファイルをアップロードするにはどうすればよいですか?
(DiscourseコミュニティはDiscourseによってホストされているため、できないと思いますか?)
Discourseのどこにも更新ボタンが見当たりません。コンポーネントを再インストールするべきでしょうか?
ほとんどのホスティングプランでカスタムテーマコンポーネントをインストールできます
ドキュメントは何度も読みました。
@Arkshine さんの投稿にあるような更新ボタンが見当たりません。
私のコンポーネントパネルは以下のようになっています。
このページにあるボタンは、ページ下部にある「インストール」のみです。おそらく、テーマを再インストールすると、すべてのカスタマイズが上書きされてしまうでしょう。
私が(おそらく)少し鈍く見えていることは承知していますが
Discourse meta で見かけるものと、私たちの Discourse インスタンスで見かけるものが一致していないようです。
ご辛抱いただきありがとうございます。
元のテーマコンポーネントの変更版を手動でアップロードしたようですね。
GitHubリポジトリリンクからインストールした場合、ボタンが表示されます。(作成者はDiscourseになります)
はい、更新されたコンポーネントを再インストールする必要があります。「設定エディター」ボタンを使用して設定をエクスポート/インポートできます。
どのようなカスタマイズを行ったか覚えていますか? CSSのみであれば、公式バージョンを使用し、CSSのカスタマイズはテーマまたは別のテーマコンポーネントに追加することをお勧めします。これにより、常に最新のアップデートを入手できます。
@Arkshine、@Moin - ご協力ありがとうございます。
既存のテーマを削除し、GitHubリポジトリから再インストールしたところ、すべて正常になりました。サイトは以前と同じように表示され、FontAwesomeに関する通知も消えました。今後、テーマは自動的に更新されます。
重ねて感謝いたします!
ログを確認してください。古い名前を使用しているアイコンが1つまたは複数あるかどうかを示していると思います。管理者が変更できるアイコンのいずれかである場合、そのコンポーネントの名前は表示されません。
@Jagsterさん、ありがとうございます。
以下のコンソールログを見つけました。
Deprecation notice: The icon name "undo" has been updated to "arrow-rotate-left". Please use the new name in your code. Old names will be removed in Q2 2025. [deprecation id: discourse.fontawesome-6-upgrade] [info: https://meta.discourse.org/t/325349]
しかし、このアイコンをどこで更新すればよいか分かりません。
すべてのプラグイン/コンポーネントが最新の状態であることをまず確認していただけますか?
はい、すべて更新されています。
昨日更新したばかりです。
セーフモードで、プラグインまたはテーマコンポーネントのどちらから来ているのか特定できますか?
アップストリームプロジェクトの管理外でリネームが強制されていることは理解していますが、互換性マッピングを永久に残しておくことはできないのでしょうか?どのような害があるのでしょうか?
Discourse またはその依存関係に関わっている人は、他の人が使用する公開 API の概念を理解していますか?
本当にやむを得ない理由がない限り、API を壊すことはありません。開発者のみが見る内部的な事柄の名前が、誰かの気まぐれによって完全に完璧ではないということは、他人のコードを壊すほどの十分な理由にはなりません。
Discourse を壊さないようにするために必要な作業量の多さに、本当にうんざりしています。毎回、それに見合うだけの世界を変えるような改善があれば、時間と手間がかかっても構いませんが、そのようなことは決してありません。些細な理由で破壊的な変更が加えられ、それが他人に与える時間と手間が考慮されていないように感じます。
ご不便をおかけして申し訳ありません。これらのアップデートを簡単に行えるようにし、完了までに数ヶ月の時間を設けていますが、常にトレードオフがあります。マッピングを無期限に保持しておくと、V4 → V5 → V6 のように複数のレイヤーがすでに存在し、それ自体を理解し維持する必要のある負債となります。これをすべてのコードに対して行うと、Discourse ははるかに大きくなり、理解して作業するのが難しくなります。
はい、そのため、非推奨の警告と更新手順を提供しています。ファイルを更新してすべての作業を渡すだけではありません。このような更新を行うたびに、ドキュメント、警告システムを作成し、数百のテーマ、テーマコンポーネント、およびプラグインを自分で更新する必要があります。Ember の更新では、エンジニアがレガシーのカスタマイズを可能にするためのまったく新しいシステムを考案しました。
はるかに大規模なソフトウェア企業でさえ、API を破壊的な方法で更新しています。Google の時価総額は約 2 兆ドルですが、API の変更により、Google Fonts コンポーネントを少なくとも 2 回更新する必要がありました。ログインのために統合するすべての認証サービスは、API の変更により更新が必要になりました。
時折のメンテナンスに時間を割く時間がない場合は、カスタマイズの量を可能な限り減らすことをお勧めします。Discourse 用の既製のテーマ/コンポーネント/プラグインを使用している場合、ほとんどの場合、それらを無料で更新します。
Discourse の更新を回避することもできますが、すべてが常に変化しており、最終的には新しいセキュリティの問題やブラウザの互換性の問題に直面することになります。すべてのオプションにはコストとトレードオフがあります。
それなのに、Windows 95用に書かれたプログラムは30年後でも変更なしで使用できます。つまり、それは可能です。
他の企業が簡単な道を選ぶからといって、あなたもそうしなければならないわけではありません。それは選択です。
それは、時間や予算に関する多くのトレードオフを伴う現実での運用によって制約される選択です。「技術的には何でも可能」という話に逸れる必要はありません。
それはさておき、Discourse の良い点は、無料かつオープンソースであることです。そのため、1 年前または 10 年前のバージョンを実行したい場合は、確かに実行できますが、解決するよりも多くの問題を引き起こす可能性が高いでしょう。
@Arkshineさん、ありがとうございます。
通知は自動的に消えました。
今日、もう一度見つけて、ブラウザのコンソールをチェックしたところ、アイコンの名前が見つかりました。それらを更新した後、通知は消えました。



