Category-selector.js:73 - TypeError non intercepté : this.attrs.onChange n'est pas une fonction

Bonjour,

Nous avons utilisé “discourse-categories-suppressed” sans problème, avec deux catégories masquées. Lorsque nous en avons sélectionné une troisième, cette erreur est apparue dans la console et le sélecteur s’est cassé. Nous avons pu réinitialiser les catégories mais ne pouvons plus en définir aucune, cette erreur persiste.

Version 0.1.

Une chose à noter, il n’est pas possible de désactiver depuis la liste des plugins non plus. Nous avons désactivé tous les autres plugins et l’erreur persiste.

Erreur complète

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)

les catégories attribuables sont également affectées, il semble que tout ce qui a un menu déroulant « category_list » soit cassé. De plus, le menu déroulant des balises de sujet présente la même erreur.

L’utilisation du mode sans échec ne résout pas le problème et la reconstruction sans plugins non plus.

Quelqu’un a-t-il des idées pour essayer de résoudre ce problème ?

Il semble qu’il y ait un post similaire ici.

Ça plante ici.

category-selector.js

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

J’ai réussi à reproduire cela avec une nouvelle construction propre de la goutte Discourse de Digital Ocean. Donc, pas de plugins et juste après la configuration initiale, ce n’est donc pas lié à un plugin mais à un problème de base de Discourse.

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

On dirait que cela a été introduit ici : DEV: remove trivial `{{action}}` usages (#24278) · discourse/discourse@8250609 · GitHub

1 « J'aime »

Je vois également cette erreur en ce moment sur une installation Discourse propre que je suis en train de configurer. Elle empêche le clic sur certains menus déroulants dans la zone d’administration uniquement.

Étant donné que vous avez rencontré ce problème quelques minutes avant moi, je suppose qu’il s’agit d’une mise à jour très récente qui en est la cause. Le lien que vous avez trouvé date d’il y a 2 jours, donc cela correspond.

Je ne vois ce bug que sur ma nouvelle configuration, pas sur aucun de mes autres sites.

1 « J'aime »

Content, un peu, que je ne sois pas le seul à avoir ce problème. Mon serveur n’a été construit qu’il y a quelques jours, mais c’était ma première installation.

Semble être pour ceux qui ont été construits récemment.

1 « J'aime »

Devrait être corrigé par

(merci, @awesomerobot !)

6 « J'aime »

Merci @awesomerobot. Quand pouvons-nous nous attendre à ce que le correctif atteigne nos sites ?

1 « J'aime »

Il semble que cela ait été fusionné, donc la mise à jour de votre site devrait le récupérer. :+1:

2 « J'aime »

Corrigido e resolvido! Obrigado

3 « J'aime »