Solved filter doesn't update status on the dropdown

This occurred some time ago already and had been fixed, so I guess it’s a regression. The dropdown filter for Solved status works (the lists are filtered), but the dropdown doesn’t update to the current filter status. It always stays on “all”.

This is on the latest stable version of Discourse.

Another issue I came across is that I can restrict using Solved to tags. But the filter won’t show on tag lists. It only shows on category lists where Solved is enabled, or when enabled on all topics.

Edit: I also use the filter in the theme component Featured Lists. This worked:

    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,
      },

but the filter stopped working on the component. Don’t see errors though.

1 Like

I don’t know why and if it’s a change in the core, but a quick debug here

shows that modelParams doesn’t exist if you are not on a category page.

It’s defined here:

Several alternatives work on the homepage and category route:

.queryParams.solved
.attributes.list.params.solved
.attributes.list.listParams.solved

I don’t see any recent changes in the core. :thinking:

From what I see, modelParams has been used since this PR:

1 Like

Thanks for looking into this @Arkshine! With respect to my component, I published it just two months ago and I’m pretty sure this has been working then :thinking:

Hi @nolo! Thanks for the report. I couldn’t really reproduce the main issue you were having with the status filter not updating, but I switched to this.router.currentRoute.queryParams?.solved for checking the status, which might work better.

Since tags are not linked to categories, showing the filter in every tag is not always relevant, but I went ahead and added it here anyway.

About your theme component, you should check for yes / no instead of solved / unsolved when filtering for solved. I just opened a PR with the proposed change.

3 Likes

This topic was automatically closed after 3 days. New replies are no longer allowed.