無効化された未分類がカテゴリードロップダウンに表示される

これは最新の形式に戻っていますか?無効になっており、すべて以下のようになっています。

しかし、さまざまなカテゴリのドロップダウンに表示されます。バックエンドではおそらくそれほど問題ではありませんが、検索でも提案されています。

「いいね!」 1

これについては、メインで再現できません。

@j.jaffeux try.discourse.orgで再現できました。「Uncategorized」がトピック作成者の「category…」メニューに表示されないことから、そのフォーラムでは「Allow uncategorized topics」設定が無効になっていることがわかります。

詳細検索メニュー

検索ページの高度な検索の「Categorized」メニューに「Uncategorized」が表示されます。

  1. 以下のリンクをクリックして、ウェブブラウザでDiscourse Demoフォーラムの詳細検索ページを開きます。
    https://try.discourse.org/search
  2. Advanced filters」をクリックします。
    ページの「Advanced filters」セクションが展開されます。
  3. All categories」メニューをクリックします。
    メニューが開きます。

:bug: メニューに「Uncategorized」という項目が表示されます。

検索オートコンプリート

  1. 以下のリンクをクリックして、ウェブブラウザでDiscourse Demoフォーラムを開きます。
    https://try.discourse.org/
  2. ページ右上隅にある虫眼鏡アイコン(「Search」)をクリックします。
    検索インターフェースが開きます。
  3. 「Search」フィールドに「#u」と入力します。
    カテゴリフィルターのオートコンプリートメニューが表示されます。

:bug: カテゴリフィルターのオートコンプリートメニューに「Uncategorized」という項目が表示されます。

トピック作成者オートコンプリート

  1. まだアカウントをお持ちでない場合は、try.discourse.orgでアカウントを作成してください。
  2. try.discourse.orgでアカウントにログインします。
  3. 以下のリンクをクリックして、ウェブブラウザでDiscourse Demoフォーラムを開きます。
    https://try.discourse.org/
  4. ページ右上隅にある「New Topic」ボタンをクリックします。
    トピック作成者が開きます。
  5. トピック作成者の投稿本文フィールドをクリックします。
  6. 「Search」フィールドに「#u」と入力します。
    カテゴリフィルターのオートコンプリートメニューが表示されます。

:bug: カテゴリフィルターのオートコンプリートメニューに「uncategorized」という項目が表示されます。

カテゴリの並べ替え

Reorder Categories」ダイアログにも「Uncategorized」カテゴリが表示されることを再現できました。これは、「Allow uncategorized topics」設定が無効になっているフォーラムで管理者として再現しました(try.discourse.orgではテストできませんでした)。そのフォーラムはDiscourseバージョン d8c855e55978d00fc63021b31ecd00a4bee9d922 を使用しています。

  1. 「Allow uncategorized topics」設定が無効になっているフォーラムで、管理者アカウントにログインします。
  2. Categories」ページ(/categories)を開きます。
  3. ページ右上隅にあるレンチアイコン(「Manage categories」)をクリックします。
    Reorder Categories」ダイアログが開きます。

:bug: ダイアログに「Uncategorized」という項目が表示されます。

@manuel の意見に同意しますが、このダイアログに表示されることよりも、ユーザーインターフェースに表示されることの方が深刻度は低いと考えています。しかし、あなたがこの障害を再現できないようなので、言及しておくべきだと思いました。

「いいね!」 3

@hugh この「未分類」という厄介な状態を長期的に維持したいかどうか、私には定かではありません。

長年にわたり、できるだけそれを取り除くよう努力しましたが、新しいエッジケースが次々と現れます。

私の意見では、設定を削除し、人々がデフォルトのカテゴリを選択できるようにするだけで十分です。テーマコンポーネントを使えば、「一般」などのカテゴリバッジを表示したくないまれなケースで、特定のカテゴリバッジを隠すことができます。

「いいね!」 2

説明した手順に従って、保守担当者は障害を再現できましたか?(以前の返信はこちら:Disabled Uncategorized shows in category dropdowns - #3 by per1234
トピックにまだ needs-repro タグが付いているため、お尋ねします。

障害を再現できる場合は、トピックからそのタグを削除してください。これにより、レポートが現時点で対応可能であることが明確になります。

「いいね!」 2

お待ちください、ペルさん。レーダーから外れていました。再現の確認を優先し、メンバーのXPに割り当てます。

「いいね!」 1

Per、この返信は「他に何か試してみてください」となりますが、申し訳ありません。

Arduinoで「未分類を抑制する」の使用を中止することの妨げになっているのは何でしょうか?

この機能全体が混乱を招く曲球だと感じています。別の宇宙では、サイト設定を削除するだけで、トピックにはカテゴリが必要なので、トピックがカテゴリを持っている(しかし実際にはカテゴリを持っていない)この宇宙は混乱を招き、人々がカテゴリ分けできない場合に「一般」に物を投入できることを考えると、エンドユーザーにとってはほとんど何も追加されません。

「未分類のトピックのバックグラウンドを取得する」を「一般」カテゴリに移植するお手伝いをしましょうか?

「いいね!」 2

これは、「未分類トピックを許可する」サイト設定のチェックを外すことを意味しますか?

もしそうであれば、それがArduinoフォーラムの設定方法であり、常にそうでした。

「カテゴリの並べ替え」(重要ではないとすでに指定したものを除く)を除き、提供した手順でtry.discourse.orgで不具合が再現できることを確認しました。したがって、Arduinoフォーラムはこの会話に直接関係ありません。通常のユーザーとしてわかる限り、「未分類トピックを許可する」サイト設定はtry.discourse.orgでは無効になっています。

ここで報告されている問題は、サイト設定「未分類トピックを許可する」によってそのカテゴリが無効になっているフォーラムで、#uncategorizedカテゴリがユーザーインターフェースに表示されることです。

それは私にとって問題ありません。

何年もの間、ユーザーにトピックに適切なカテゴリを選択させるのに苦労してきた者として、フォーラム運営者がユーザーにカテゴリ選択をスキップするオプションを提供する機能を持つことが有用だと感じる理由を理解できます。しかし、私のフォーラムで「未分類トピックを許可する」機能を使用することに興味はないので、機能の削除は個人的には影響しません。

未分類トピックを許可する」機能の使用経験がないため、その機能の相対的なメリットと、提案されているように通常のカテゴリを使用することのメリットについてコメントすることはできません。

機能が本当に必要かどうかを理解するために、その機能を使用している人と話すのは良い考えだと思います。私はちょうどその人ではありませんが。

それが何を意味するのかよくわかりません。しかし、理解したいです。

Arduinoフォーラムのカテゴリ分けに関して、何か支援を提供してくれますか?

Arduinoフォーラムをご覧になっている場合、混乱の原因となる可能性があるのは、実際に「未分類」という名前のカテゴリがあることです。しかし、これはその名前を持つ通常のカテゴリであり、「未分類トピックを許可する」サイト設定によって提供される特別なカテゴリではありません。私たちの「未分類」カテゴリは、「未分類トピックを許可する」機能とは完全に反対の目的を持っています。このバグレポートの主題とはまったく関係ありませんが、なぜそうしたのか興味がある場合は、こちらで説明されています。

「いいね!」 2

ローカルデバッグを少し行ったところ、デフォルトの Discourse インストールで 100% 再現可能であることを確認しました。

以下にまとめます。

「未分類」に関する設定は 2 つあります。

allow_uncategorized_topics デフォルト オフ
suppress_uncategorized_badge デフォルト オン

allow_uncategorized_topics が無効になっている場合(デフォルト設定)、その存在が特定の場所に漏れ出します。

未分類を削除できるように未分類を有効にしようとすると、次のような表示になります。

Discourse では、このカテゴリは非常に特殊です。

  1. 必ず存在しなければならない
  2. 削除できない
  3. 多くのロジックに多くの場所で注入されている:

漏れを修正するには、さらに多くの条件分岐を追加するだけで済みます。クライアントとサーバーの両方で、おそらくすでに 10 個以上になっています。

または、コアで修正し、管理者がカテゴリを削除できるようにすることで、それが消え、チェックする必要がなくなります。

ここでの私の推奨事項は次のとおりです。

  1. 両方の設定を削除し、非表示の設定 uncategorized_category_id を削除します。
  2. デフォルトカテゴリの概念を持つ(すでに持っています)- default_composer_category はすでにあります。
  3. 「未分類」はもはや特別な概念ではなくなり、推論するものが少なくなります。
  4. 「バッジなしのカテゴリ」を必須とするユーザーのためにテーマコンポーネントを用意します。

現在の検索バグは、次のようなもので修正できます。

diff --git a/app/assets/javascripts/select-kit/addon/components/search-advanced-category-chooser.js b/app/assets/javascripts/select-kit/addon/components/search-advanced-category-chooser.js
index a678919d16..83a9ed27db 100644
--- a/app/assets/javascripts/select-kit/addon/components/search-advanced-category-chooser.js
+++ b/app/assets/javascripts/select-kit/addon/components/search-advanced-category-chooser.js
@@ -1,4 +1,5 @@
 import { classNames } from "@ember-decorators/component";
+import { setting } from "discourse/lib/computed";
 import CategoryChooserComponent from "select-kit/components/category-chooser";
 import {
   pluginApiIdentifiers,
@@ -7,11 +8,13 @@ import {
 
 @classNames("search-advanced-category-chooser")
 @selectKitOptions({
-  allowUncategorized: true,
+  allowUncategorized: "allowUncategorized",
   clearable: true,
   none: "category.all",
   displayCategoryDescription: false,
   permissionType: null,
 })
 @pluginApiIdentifiers("search-advanced-category-chooser")
-export default class SearchAdvancedCategoryChooser extends CategoryChooserComponent {}
+export default class SearchAdvancedCategoryChooser extends CategoryChooserComponent {
+  @setting("allow_uncategorized_topics") allowUncategorized;
+}
import { render } from "@ember/test-helpers";
import { module, test } from "qunit";
import { setupRenderingTest } from "discourse/tests/helpers/component-test";
import selectKit from "discourse/tests/helpers/select-kit-helper";
import SearchAdvancedCategoryChooser from "select-kit/components/search-advanced-category-chooser";

module(
  "Integration | Component | select-kit/search-advanced-category-chooser",
  function (hooks) {
    setupRenderingTest(hooks);

    hooks.beforeEach(function () {
      this.set("subject", selectKit());
    });

    test("respects allow_uncategorized_topics setting when false", async function (assert) {
      this.siteSettings.allow_uncategorized_topics = false;

      await render(
        <template><SearchAdvancedCategoryChooser /></template>
      );

      await this.subject.expand();

      // Uncategorized category (ID 17 in test data) should not be present when setting is false
      assert.false(
        this.subject.rowByValue(17).exists(),
        "uncategorized category is not available when allow_uncategorized_topics is false"
      );
    });

    test("shows uncategorized category when allow_uncategorized_topics is true", async function (assert) {
      this.siteSettings.allow_uncategorized_topics = true;

      await render(
        <template><SearchAdvancedCategoryChooser /></template>
      );

      await this.subject.expand();

      // Uncategorized category (ID 17 in test data) should be present when setting is true
      assert.true(
        this.subject.rowByValue(17).exists(),
        "uncategorized category is available when allow_uncategorized_topics is true"
      );
    });

    test("has correct default options", async function (assert) {
      await render(
        <template><SearchAdvancedCategoryChooser /></template>
      );

      assert.strictEqual(
        this.subject.header().label(),
        "All categories",
        "has correct default none label"
      );
    });
  }
);

しかし、それは高度な検索バグにすぎず、私たちはいたちごっこをしています…

「いいね!」 3