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.

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: