「未分類トピックを許可」が無効になっているのに、Android モバイルのログアウトユーザー(または管理者としてログインしたユーザー)に「未分類」が表示されてしまいます。再構築も実施しましたが、テーマコンポーネントからは原因が特定できません。セーフモードでも問題は解消されません。インストールされているのは公式プラグインのみです。
デスクトップではこの問題を確認できません。
https://www.druidforum.org/
「未分類トピックを許可」が無効になっているのに、Android モバイルのログアウトユーザー(または管理者としてログインしたユーザー)に「未分類」が表示されてしまいます。再構築も実施しましたが、テーマコンポーネントからは原因が特定できません。セーフモードでも問題は解消されません。インストールされているのは公式プラグインのみです。
デスクトップではこの問題を確認できません。
https://www.druidforum.org/
未分類カテゴリのトピックはすべて整理しましたか?
はい!「about」トピックのみで、他はありません。私が想定している仕様では、それがどうして可能なのか、よくわかりません。しかも、デスクトップではなく、モバイルのみです。
@tshenry さん、この現象を再現できますか?モバイル端末のみで発生しているように思われますが。
「About」トピックが無効化されている場合、それが「未分類」のまま残るとは考えていません。「未分類トピックを許可」サイト設定の説明にある警告には(強調追加)次のように書かれています:
警告: いかなる未分類トピックが存在する場合は、これを無効化する前に再分類する必要があります。
「About」トピックを有効なカテゴリに移動してみてください。私のテストサイトではこれで問題が解決しました。
ああ、わかりました。それで解決しましたね。
これはかなり混乱を招きますね。通常、トピックの「概要」を削除するのは禁止されていますが(とはいえ、これは実際にはカテゴリではないので、厳密には「概要」トピックではないのでしょう)。しかし、私は削除してしまい、これで「未分類」が表示されなくなりました。しかも、それを見つけられなかったため、スマホから操作する必要がありました。
「未分類」は、カテゴリではないのにその名前がついているため、非常に混乱を招きます。これはデフォルトでオフにすべきだと本当に思います。
いいえ、世界上のあらゆるインスタンスに対して最初から「動物・植物・鉱物」という人工的な分類を強制するのは信じていないからです。申し訳ありません。
そこにある警告は理由があって記載されているので、必ずお読みください:
警告:未分類のトピックが 1 つでもある場合、この機能を無効にする前にカテゴリを再分類する必要があります。
とはいえ、@zogstrip さん、この動作をモバイルとデスクトップで統一するように標準化することは可能でしょうか?
はい。その議論は理解できますし、以前は同調していましたが、「カテゴリなし」よりも「デフォルト」カテゴリの方が理にかなっていると思います。ただ、再びその提案をしないように努めます。もしかしたら、いつか同じ場所で
を飲みながら話す機会があれば別ですが。
@nbianca さん、モバイルでは表示されていたのにデスクトップでは表示されなかった「未分類」がなぜ表示されていたのか調査する項目をリストに追加していただけますか?
デスクトップではカテゴリとトピックを別々に表示しますが、モバイルではカテゴリとトピックをまとめて表示します。これを踏まえると、このバグの原因となっているのは以下の行です:
c.displayable_topics.blank? は、デスクトップではトピックを別々に読み込むため常に displayable_topics が空になるため、常に true になります。一方、モバイルでは、そのカテゴリに本当にトピックが存在しない場合のみ true になります。
ここでは2つの解決策があります:
「未分類トピックを許可する」設定の値に関わらず、少なくとも1つのトピックがあれば「未分類」を表示する
「未分類トピックを許可する」設定が false の場合、トピックが1つでもあっても「未分類」を非表示にする
2番目の解決策の実装は簡単です。条件の2番目の部分を単に削除するだけで済むためです。
カテゴリ未分類のトピックを非表示にする方が(奇妙にも)、設定をオンにした際に未分類を非表示にしないよりも混乱が少ないと思います。未分類をオフにすると、すべてのトピックが消えたことにすぐに気づくでしょうが、オフにしても何も変化がなければ、システムが壊れているように思えてしまいます。
リリースが目前に迫っているため、リスクの低い方を選びましょう。
私の投票は「特殊な未分類のコードを可能な限り削除する」です。それが増えれば増えるほど、状況は複雑になります。
したがって、私は以下に賛成します:
「未分類トピックを許可する」設定の値に関わらず、少なくともトピックが一つあれば、未分類を表示する
ただし、その実装が Discourse から特別な魔法のようなコードを削除し、エッジケースを減らすことが前提です。
要するに、Discourse からより多くのコードを削除できる方を選ぶべきです。
最初の投稿にあるバグの修正を提出しました:
Discourse からコードを削除する最初の解決策を選択しました。もう一つの案は、未分類カテゴリに少なくとも 1 つのトピックが存在するかを判定するためにコードを追加するものでした。
また、category.uncategorized? のすべての使用箇所をレビューし、Uncategorized を「ユニコーン(特別な存在)」ではなく、より一般的なカテゴリとして扱うことで不要になる可能性のあるいくつかの箇所を見つけました:
これらは他の機能に影響を与えない部分であり、変更のリスクを低く抑えることができますが、依然として簡単ではありません。