Category-selector.js:73 - Uncaught TypeError: this.attrs.onChange is not a function

Hello,

We’ve been using “discourse-categories-suppressed” without issue, with two categories hidden. When we selected a third, this error appeared in the console and the selector was broken. We could reset the categories but now cannot set any categories, just having this error.

Version 0.1.

One thing to note, it’s not possible to disable from within the plugins list either. Have disabled all other plugins and error persists.

Full error


vendor.9e07dd0436aff8751322647cc975361e-0b8308ceb741824f018ebb7f7d43bfd39b0bc2e6767be3de2e9822c547d27118.gz.js:18 Uncaught TypeError: this.attrs.onChange is not a function
    at e.onChange (chunk.7a74475b96755fa3ebfa.gz.js:1:3762101)
    at e._boundaryActionHandler (chunk.7a74475b96755fa3ebfa.gz.js:1:3827688)
    at chunk.7a74475b96755fa3ebfa.gz.js:1:3825926
    at vendor.9e07dd0436aff8751322647cc975361e-0b8308ceb741824f018ebb7f7d43bfd39b0bc2e6767be3de2e9822c547d27118.gz.js:18:505747
    at new R (vendor.9e07dd0436aff8751322647cc975361e-0b8308ceb741824f018ebb7f7d43bfd39b0bc2e6767be3de2e9822c547d27118.gz.js:18:505815)
    at e._onChangeWrapper (chunk.7a74475b96755fa3ebfa.gz.js:1:3825496)
    at $._join (vendor.9e07dd0436aff8751322647cc975361e-0b8308ceb741824f018ebb7f7d43bfd39b0bc2e6767be3de2e9822c547d27118.gz.js:18:522420)
    at $.join (vendor.9e07dd0436aff8751322647cc975361e-0b8308ceb741824f018ebb7f7d43bfd39b0bc2e6767be3de2e9822c547d27118.gz.js:18:519242)
    at p (vendor.9e07dd0436aff8751322647cc975361e-0b8308ceb741824f018ebb7f7d43bfd39b0bc2e6767be3de2e9822c547d27118.gz.js:18:300802)
    at s.change (vendor.9e07dd0436aff8751322647cc975361e-0b8308ceb741824f018ebb7f7d43bfd39b0bc2e6767be3de2e9822c547d27118.gz.js:18:301007)
    at e.select (chunk.7a74475b96755fa3ebfa.gz.js:1:3797421)
    at e.select (chunk.7a74475b96755fa3ebfa.gz.js:1:3762049)
    at e.r [as select] (vendor.9e07dd0436aff8751322647cc975361e-0b8308ceb741824f018ebb7f7d43bfd39b0bc2e6767be3de2e9822c547d27118.gz.js:18:224119)
    at $._run (vendor.9e07dd0436aff8751322647cc975361e-0b8308ceb741824f018ebb7f7d43bfd39b0bc2e6767be3de2e9822c547d27118.gz.js:18:522580)
    at $._join (vendor.9e07dd0436aff8751322647cc975361e-0b8308ceb741824f018ebb7f7d43bfd39b0bc2e6767be3de2e9822c547d27118.gz.js:18:522379)
    at $.join (vendor.9e07dd0436aff8751322647cc975361e-0b8308ceb741824f018ebb7f7d43bfd39b0bc2e6767be3de2e9822c547d27118.gz.js:18:519242)
    at p (vendor.9e07dd0436aff8751322647cc975361e-0b8308ceb741824f018ebb7f7d43bfd39b0bc2e6767be3de2e9822c547d27118.gz.js:18:300802)
    at s.select (vendor.9e07dd0436aff8751322647cc975361e-0b8308ceb741824f018ebb7f7d43bfd39b0bc2e6767be3de2e9822c547d27118.gz.js:18:301007)
    at e.click (chunk.7a74475b96755fa3ebfa.gz.js:1:3853381)
    at e.trigger (vendor.9e07dd0436aff8751322647cc975361e-0b8308ceb741824f018ebb7f7d43bfd39b0bc2e6767be3de2e9822c547d27118.gz.js:18:245776)
    at e.r [as trigger] (vendor.9e07dd0436aff8751322647cc975361e-0b8308ceb741824f018ebb7f7d43bfd39b0bc2e6767be3de2e9822c547d27118.gz.js:18:224119)
    at e.trigger (chunk.7a74475b96755fa3ebfa.gz.js:1:2422680)
    at e.r [as trigger] (vendor.9e07dd0436aff8751322647cc975361e-0b8308ceb741824f018ebb7f7d43bfd39b0bc2e6767be3de2e9822c547d27118.gz.js:18:224119)
    at HTMLLIElement.o (chunk.7a74475b96755fa3ebfa.gz.js:1:2422929)

scorable categories is also affected, it seems anything with a “category_list” dropdown is broken. Furthermore topic tags dropdown also have the same error.

Using safe mode doesn’t resolve the issue and rebuilding with no plugins doesn’t either.

Anyone have any ideas to try troubleshoot this?

Seems there’s a similar post here.

It’s breaking here.

category-selector.js

actions: {
onChange(values) {
this.attrs.onChange(values.map(v => Category.findById(v)).filter(Boolean));
return false;
}
}

I’ve managed to replicate this with a new clean build of the digital ocean discourse droplet. So no plugins and just after the initial setup, so this is not plugin related but a core Discourse issue.

rsvp.js:23 Uncaught TypeError: this.attrs.onChange is not a function
    at e.onChange (category-selector.js:73:18)
    at e._boundaryActionHandler (select-kit.js:415:42)
    at select-kit.js:330:12
    at rsvp.js:459:1
    at new R (rsvp.js:915:1)
    at e._onChangeWrapper (select-kit.js:312:12)
    at $._join (index.ts:646:21)
    at $.join (index.ts:362:17)
    at p (index.js:156:1)
    at s.change (index.js:257:1)
    at e.select (multi-select.js:74:22)
    at e.select (category-selector.js:68:12)
    at e.r [as select] (index.js:383:1)
    at $._run (index.ts:665:23)
    at $._join (index.ts:640:19)
    at $.join (index.ts:362:17)
    at p (index.js:156:1)
    at s.select (index.js:257:1)
    at e.click (select-kit-row.js:91:20)
    at e.trigger (core_view.js:63:1)
    at e.r [as trigger] (index.js:383:1)
    at e.trigger (ember-events.js:138:30)
    at e.r [as trigger] (index.js:383:1)
    at HTMLLIElement.o (ember-events.js:203:39)
onChange @ category-selector.js:73
_boundaryActionHandler @ select-kit.js:415
(anonymous) @ select-kit.js:330
(anonymous) @ rsvp.js:459
R @ rsvp.js:915
_onChangeWrapper @ select-kit.js:312
$._join @ index.ts:646
$.join @ index.ts:362
p @ index.js:156
(anonymous) @ index.js:257
select @ multi-select.js:74
select @ category-selector.js:68
r @ index.js:383
$._run @ index.ts:665
$._join @ index.ts:640
$.join @ index.ts:362
p @ index.js:156
(anonymous) @ index.js:257
click @ select-kit-row.js:91
trigger @ core_view.js:63
r @ index.js:383
trigger @ ember-events.js:138
r @ index.js:383
o @ ember-events.js:203

Looks like it was introduced here: DEV: remove trivial `{{action}}` usages (#24278) · discourse/discourse@8250609 · GitHub

1 Like

I’m also seeing this error right now on a clean Discourse install which i’m just setting up. It’s preventing some dropdowns from being clicked in the admin area only.

Given that you encountered this just a few mins before me i’d speculate that its a very recent update which has caused this. The link you found was 2 days ago so it fits.

I am only seeing this bug on my fresh setup, not on any of my other sites.

1 Like

Glad, somewhat, i’m not the only one with this issue. My server was only build a few days ago but was my first setup.

Seems to be for recently built ones.

1 Like

Should be fixed by

(thanks, @awesomerobot!)

6 Likes

Thanks @awesomerobot. When would we expect to see the fix reach our sites?

1 Like

It looks like it’s been merged, so updating your site should pick it up. :+1:

2 Likes

Fixed and resolved! Thank you

3 Likes