解決済みフィルターはドロップダウンのステータスを更新しません

これはすでにしばらく前に発生し、修正されていましたが、リグレッションだと思われます。解決済みステータスのドロップダウンフィルターは機能しますが(リストはフィルターされます)、ドロップダウンは現在のフィルターステータスに更新されません。常に「すべて」のままです。

これはDiscourseの最新の安定版で発生しています。

もう1つの問題は、タグを使用して解決済みを制限できることです。しかし、フィルターはタグリストに表示されません。解決済みが有効になっているカテゴリリスト、またはすべてのトピックで有効になっている場合にのみ表示されます。

編集:テーマコンポーネントFeatured Listsでもフィルターを使用しています。これは機能していました:

    const topicList = await this.store.findFiltered('topicList', {
      filter: this.args.list.filter,
      params: {
        order: 'activity',
        category: this.args.list.category,
        tags: this.args.list.tag,
        solved: this.args.list.solved,
      },

しかし、コンポーネントでフィルターが機能しなくなりました。エラーは表示されません。

「いいね!」 1

コアの変更によるものか不明ですが、ここで簡単なデバッグを行うと、
https://github.com/discourse/discourse-solved/blob/main/assets/javascripts/discourse/connectors/bread-crumbs-right/solved-status-filter.js#L47-L51

カテゴリページ以外ではmodelParamsが存在しないことがわかります。

これはここで定義されています。
https://github.com/discourse/discourse/blob/main/app/assets/javascripts/discourse/app/routes/build-category-route.js#L71

ホームページやカテゴリールートでは、以下のいずれかの代替案が機能します。
.queryParams.solved
.attributes.list.params.solved
.attributes.list.listParams.solved

コアで最近の変更は見られません。:thinking:

私の見たところ、modelParamsは以下のPR以降使用されています。

「いいね!」 1

@Arkshine、ご確認ありがとうございます!私のコンポーネントに関しては、2ヶ月前に公開したばかりで、その時は動作していたと確信しています :thinking:

@manuelさん、こんにちは!ご報告ありがとうございます。ステータスフィルターが更新されないという主な問題は再現できませんでしたが、ステータスを確認するために this.router.currentRoute.queryParams?.solved に切り替えました。これはよりうまく機能するかもしれません。

タグはカテゴリにリンクされていないため、すべてのタグにフィルターを表示することは必ずしも関連性があるわけではありませんが、とにかくここに追加しました。

テーマコンポーネントについては、solved でフィルター処理する際に solved / unsolved の代わりに yes / no をチェックする必要があります。提案された変更を含むプルリクエストを提出しました。

「いいね!」 3

このトピックは3日後に自動的に閉じられました。新しい返信はもう許可されていません。