Category-selector.js:73 - Нераскрытая ошибка TypeError: this.attrs.onChange не является функцией

Здравствуйте,

Мы использовали плагин “discourse-categories-suppressed” без проблем, скрывая две категории. Когда мы выбрали третью, в консоли появилось это сообщение об ошибке, и селектор перестал работать. Мы могли сбросить категории, но теперь не можем установить ни одну из них — появляется только эта ошибка.

Версия 0.1.

Одно замечание: отключить плагин из списка плагинов также невозможно. Мы отключили все остальные плагины, но ошибка сохраняется.

Полный текст ошибки:


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)

Также затронуты категории, подлежащие оценке: похоже, что всё, что связано с выпадающим списком «category_list», не работает. Кроме того, аналогичная ошибка возникает и в выпадающем списке тегов тем.

Использование безопасного режима не решает проблему, и пересборка без плагинов тоже не помогает.

У кого-нибудь есть идеи, как попробовать устранить эту неполадку?

Похоже, здесь есть похожая тема.

У меня возникает ошибка здесь.

category-selector.js

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

Мне удалось воспроизвести эту проблему на чистой новой сборке Droplet с Discourse от Digital Ocean. То есть без плагинов и сразу после первоначальной настройки, так что это не связано с плагинами, а является проблемой ядра 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

Похоже, это было добавлено здесь: DEV: remove trivial `{{action}}` usages (#24278) · discourse/discourse@8250609 · GitHub

1 лайк

Я тоже вижу эту ошибку прямо сейчас на чистой установке Discourse, которую я только что настраиваю. Она мешает кликать по некоторым выпадающим спискам только в административной панели.

Учитывая, что вы столкнулись с этим всего за несколько минут до меня, я предполагаю, что это вызвано очень недавним обновлением. Ссылка, которую вы нашли, была опубликована 2 дня назад, так что это совпадает.

Я вижу эту ошибку только на своей свежей установке, а не на других моих сайтах.

1 лайк

Рад, хоть немного, что я не единственный с этой проблемой. Мой сервер был собран всего несколько дней назад, но это была моя первая настройка.

Похоже, это касается только недавно созданных установок.

1 лайк

Должно быть исправлено в

(спасибо, @awesomerobot!)

6 лайков

Спасибо @awesomerobot. Когда мы можем ожидать, что исправление появится на наших сайтах?

1 лайк

Похоже, это уже объединено, поэтому обновление вашего сайта должно его подхватить. :+1:

2 лайка

Исправлено и решено! Спасибо

3 лайка