いずれにせよ、そのコンポーネントはまだGlimmer Topic Lists用に更新されていないようです。
私はあまり電話を使わないのですが、これはこの会話の一部だと確信しています。昨日遅くにアップグレードし、ユーザーから不満が出始めました。そして数分前にあなたの修正を適用しました。テーマはDiscourseのデフォルトです。
![画像は、AIによるキャプション付きのEmojiを含むAlpha Newsの記事のスクリーンショットです。COVID-19がタッチスクリーンを通じてmeitストアで拡散する可能性を示しています]|689x404](upload://y7v0LZyL9HMglizIVNlkpP7g4IZ.jpeg)
こちらも確認しましたが、最新のアバターはここでも使用されていなかったと思います。
見た目が良くありません。ただ、それはあなたの問題だけではなく、似たようなコンポーネントの両方がアバターとサムネイルを表示しています。もちろん、アバターを隠す方法も知っているので、簡単な解決策です。
正直なところ、これは私の好みの問題以上のものではないかもしれませんが、何か変わったことがあります。さもなければ、私のユーザーは問い合わせを始めないでしょう。今は少し早い時間で、こちらはまだ6時ですし、何が実際に問題なのか確認できていません。
これは意図したものではなく、私の意見ではひどい見た目ですが、再現できません。
私のスクリーンショットによると、これは私のインスタンスでは発生していません。
トピックリストの表示に影響を与える他のコンポーネントがアクティブでないことを確認してください。これは現在APIであり、アクティブな場合、他のコンポーネントが干渉する可能性があります。その後、問題が続くかどうかを確認してください。問題が続く場合は、設定を共有してください。
ちなみに、このテーマコンポーネントはトピックリストに影響を与える他のコンポーネントとの互換性を考慮して設計されていませんので、自由に組み合わせて試すことはできますが、保証はありません。
もちろん、これを伝えるのを忘れましたが、唯一のコンポーネントとしてすぐに試しました。最新のDiscourseを使用していると信じているため、プラグインから来ている可能性はあると思いますか?
もしかしたら見逃したエッジケースかもしれません。トピックリスト項目(一行全体)のHTMLを共有できますか?
または、ウェブリンクを私にPMしてください。
これくらいですか?
html snippet
<tr data-creator-name="Jagster" id="ember42" class="topic-list-item category-chattifoorumi tag-meemit has-excerpt visited ember-view">
<div class="hidden">
<div class="hidden">
<td class="topic-list-data">
<div class="pull-left">
<a href="/t/meemit-ja-muut-tuplavitsit/1263/549" aria-label="Jagsterさんのプロフィール、最後の投稿者" data-user-card="Jagster">
<img alt width="48" height="48" src="/user_avatar/foorumi.katiska.eu/jagster/96/6057_2.png" class="avatar" title="Jagster">
</a>
</div>
<div class="topic-item-metadata right">
<span id="_render_glimmer_25" class="hbr-ember-outlet">
<div class="topic-thumbnail">
<a>
<img class="thumbnail non-tiles-thumbnail" src="https://cdnfoorumi.katiska.eu/optimized/2X/b/b5fdeed33ad48a86cc12ecb1fb0acfc55f62247c_2_536x800.jpeg" loading="lazy">
</a>
</div>
</span>
<div class="main-link">
ああ、それはひどいですね。読みにくいです。
まあ、URLはどちらにしても公開されていますし、フィンランドのフォーラム全体が興味を引くとは思えません。もし誰かがリンクをスパムと見なした場合、後で編集するのは簡単です。
https://foorumi.katiska.eu(自動システムを起こさないようにしましょう)で、数行スクロールしてください。見つかります。よりクリーンな表示が必要な場合は、テーマのテストが良い選択肢です。
完璧です。
問題のある行は次のとおりです。
<tr> data-creator-name="Jagster" id="ember42" class="topic-list-item category-chattifoorumi tag-meemit has-excerpt liked visited ember-view">
CSSでアバターを非表示にするには、そのクラスにhas-thumbnailが含まれている必要があります…
最新のDiscourseでこの割り当てが機能するかどうか、もう一度確認します。
要するに、モバイル用に使っていたものと同じことを、より短く、条件付きで行います。
.topic-list td div.pull-left a {
display: none;
}
.topic-list td div.right {
margin-left: 0px;
}
はい:
最新のコミットでも、自宅の最新環境でも、カテゴリでも、あなたの問題を再現できませんでした。![]()
Glimmer Topic List設定が「Auto」ではなく「Enabled」になっていることを確認してください。
自動になっています😳 変更します。
編集
ああ、しまった — それでした。
自動、有効を含む、は有効とは同じではありません。Glimmer が OK であることを明示的に伝える必要があるメカニズムはありますか、それとも古いシステムにフォールバックしますか?
それは非常に役立つ情報です。
そして驚きです!少なくとも私のセットアップ手順は正しかったようです ![]()
デビッドに確認します。
今のところ、これがあります。
何かが互換性がないと判断し、古いシステムにフォールバックしているのだと思います。
はい、その通りです。「自動」は「有効」と同じになります。インストールされているすべてのテーマとプラグインがアップグレードと互換性がある場合。
互換性がない場合、「無効」のように動作し、どのテーマ/プラグインをアップグレードする必要があるかを説明するメッセージがブラウザコンソールに出力されます。
公式テーマ/プラグインについては、古いトピックリストの実装と新しいトピックリストの実装の両方と同時に互換性を持たせたため、サイトの設定を気にする必要なく、他のテーマやプラグインを1つずつアップグレードできます。実装の切り替えは、最後のテーマ/プラグインが準備できたときに自動的に行われます。
しかし、後方互換性を確保するには、特に複雑なケースでは多くの作業が必要です。そのため、topic-list-previews でこれがスキップされた理由がわかります ![]()
ここでできることの1つは、@robert さん、ユーザーに明確なエラーを追加することです。たとえば次のようになります。
import { withSilencedDeprecations } from "discourse/lib/deprecated";
...
withSilencedDeprecations("discourse.hbr-topic-list-overrides", () => {
api.modifyClass("component:topic-list", {
init(){
alert("topic-list-previews は、グリマーのトピックリストと互換性のない他のテーマ/プラグインと同時に実行することはできません。詳細は https://meta.discourse.org/t/209973/521 を参照してください");
return this._super(...arguments);
}
});
});
これにより、topic-list-previews が実行されている間にレンダリングされた場合にエラーを発生させるように、古いトピックリストが変更されます。
非常に役立ちます、ありがとうございます。追加します。
はい、どれだけの時間を費やすかについては合理的に考える必要があります:sweat_smile:そのため、後方互換性は削除されました。
ただし、アップデートはピン留めされているため、中途半端な状態です。
ありがとうございます、David。このテーマコンポーネントの一つとしてこれを使いました。でも、その前に解決済みのプラグインリポジトリでこれを見つけたときは、site.useGlimmerTopicListも使っていました。こちらも良い選択肢でしょうか?これは初期化子とテンプレートで使いました。
今は問題ありませんが、glimmerトピックリストが唯一の選択肢になったら削除されます(つまりundefinedになります)。そのため、次のように使用するようにしてください。
if(!site.useGlimmerTopicList){
// 古い処理を行う
}
そして、次のように使用しないでください。
if(site.useGlimmerTopicList){
// 新しい処理を行う
}
ちなみに、@david FYI、eslint の抑制も必要だと思いますか? (pluginId も)