Reordenar categorias gera erro 422

Tenho uma categoria com 27 subcategorias. Ao tentar reorganizá-las, recebo o erro “422 Entidade não processável” ao salvar.

Não consegui reproduzir isso. Você pode tentar reorganizar as categorias com o inspetor do navegador aberto na aba de console e ver se mais detalhes sobre o erro aparecem lá?

2 curtidas

Não posso fazer isso agora, mas farei o mais breve possível. Enquanto isso, atualizei para a versão mais recente do Discourse 2.4.0.beta5 (302e8f4393) e o erro 422 evoluiu para 422 No Reason Phrase.

Eu também recebo esse erro ao tentar reorganizar as categorias. O que posso fazer?

Muito obrigado.

Enquanto isso, atualizei para a versão 2.4.0.beta7 (15f6f57cdc) e encontrei um log de erro reclamando que “Falha ao lidar com exceção no middleware do app de exceção: A validação falhou: As horas de fechamento automático devem ser maiores que 0”.

Deve ter havido algum problema em algum momento com minha configuração de multisite que quebrou algumas migrações especificamente para este site, já que outros não exibem esse erro 422.

1 curtida

No momento, estou com o mesmo erro, mas o meu é chamado apenas de „erro 422".
Esse erro ocorre apenas quando vou reordenar as categorias.

Este é o código do meu console no Firefox.

> _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:72538 [DEPRECATION] `ember-addons/ember-computed-decorators` está obsoleto. Por favor, use `discourse-common/utils/decorators` em vez disso.
(anonymous) @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:72538
_application-23de447831b30f899d0d24c783c7e5d428fab93934bb0b9486ccf28d1adafb26.js:393

> Aviso de obsolescência: `app-events:main` foi substituído por `service:app-events` (obsoleto desde o Discourse 2.4.0)
e.default @ _application-23de447831b30f899d0d24c783c7e5d428fab93934bb0b9486ccf28d1adafb26.js:393
_application-23de447831b30f899d0d24c783c7e5d428fab93934bb0b9486ccf28d1adafb26.js:393

> Aviso de obsolescência: Importe a classe Site em vez de usar Discourse.Site (obsoleto desde o Discourse 2.4.0) (remoção no Discourse 2.6.0)
e.default @ _application-23de447831b30f899d0d24c783c7e5d428fab93934bb0b9486ccf28d1adafb26.js:393
_application-23de447831b30f899d0d24c783c7e5d428fab93934bb0b9486ccf28d1adafb26.js:393 

> Aviso de obsolescência: Importe a classe User em vez de usar User (obsoleto desde o Discourse 2.4.0) (remoção no Discourse 2.6.0)
e.default @ _application-23de447831b30f899d0d24c783c7e5d428fab93934bb0b9486ccf28d1adafb26.js:393
/categories/reorder:1

> Falha ao carregar recurso: o servidor respondeu com o status 422 ()
_application-23de447831b30f899d0d24c783c7e5d428fab93934bb0b9486ccf28d1adafb26.js:12512 

>SyntaxError: Token inesperado < em JSON na posição 0
    at Function.parse [as parseJSON] (<anonymous>)
    at n (_application-23de447831b30f899d0d24c783c7e5d428fab93934bb0b9486ccf28d1adafb26.js:12508)
    at e.popupAjaxError (_application-23de447831b30f899d0d24c783c7e5d428fab93934bb0b9486ccf28d1adafb26.js:12551)
    at g (_ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:70136)
    at k (_ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:70309)
    at C (_ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:70295)
    at w (_ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:70231)
    at t.invoke (_ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:64637)
    at e.t.flush (_ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:64527)
    at e.t.flush (_ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:64731)
n @ _application-23de447831b30f899d0d24c783c7e5d428fab93934bb0b9486ccf28d1adafb26.js:12512
_ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:37064 

>Uncaught Object
_ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:9851 

> POST https://forum.fktt-module.eu/categories/reorder 422
send @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:9851
ajax @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:9448
i @ _application-23de447831b30f899d0d24c783c7e5d428fab93934bb0b9486ccf28d1adafb26.js:10537
(anonymous) @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:70335
n @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:70843
o @ _application-23de447831b30f899d0d24c783c7e5d428fab93934bb0b9486ccf28d1adafb26.js:10551
saveOrder @ _application-23de447831b30f899d0d24c783c7e5d428fab93934bb0b9486ccf28d1adafb26.js:37261
t._join @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:65342
t.join @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:65053
p @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:51878
(anonymous) @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:20563
r @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:48299
(anonymous) @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:20562
click @ _application-23de447831b30f899d0d24c783c7e5d428fab93934bb0b9486ccf28d1adafb26.js:48012
trigger @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:44318
e @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:41789
t._run @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:65360
t._join @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:65336
t.join @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:65053
p @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:51878
(anonymous) @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:44419
r @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:48299
handleEvent @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:44415
handleEvent @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:43352
(anonymous) @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:43742
dispatch @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:5251
v.handle @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:5058
_application-23de447831b30f899d0d24c783c7e5d428fab93934bb0b9486ccf28d1adafb26.js:12512 

> SyntaxError: Token inesperado < em JSON na posição 0
    at Function.parse [as parseJSON] (<anonymous>)
    at n (_application-23de447831b30f899d0d24c783c7e5d428fab93934bb0b9486ccf28d1adafb26.js:12508)
    at e.popupAjaxError (_application-23de447831b30f899d0d24c783c7e5d428fab93934bb0b9486ccf28d1adafb26.js:12551)
    at g (_ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:70136)
    at k (_ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:70309)
    at C (_ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:70295)
    at w (_ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:70231)
    at t.invoke (_ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:64637)
    at e.t.flush (_ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:64527)
    at e.t.flush (_ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:64731)
n @ _application-23de447831b30f899d0d24c783c7e5d428fab93934bb0b9486ccf28d1adafb26.js:12512
e.popupAjaxError @ _application-23de447831b30f899d0d24c783c7e5d428fab93934bb0b9486ccf28d1adafb26.js:12551
g @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:70136
k @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:70309
C @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:70295
w @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:70231
t.invoke @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:64637
t.flush @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:64527
t.flush @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:64731
t._end @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:65307
t.end @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:64993
t._run @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:65362
t.run @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:65042
h @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:51824
r.error @ _application-23de447831b30f899d0d24c783c7e5d428fab93934bb0b9486ccf28d1adafb26.js:10517
n @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:3305
fireWith @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:3435
l @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:9549
(anonymous) @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:9799
load (async)
send @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:9818
ajax @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:9448
i @ _application-23de447831b30f899d0d24c783c7e5d428fab93934bb0b9486ccf28d1adafb26.js:10537
(anonymous) @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:70335
n @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:70843
o @ _application-23de447831b30f899d0d24c783c7e5d428fab93934bb0b9486ccf28d1adafb26.js:10551
saveOrder @ _application-23de447831b30f899d0d24c783c7e5d428fab93934bb0b9486ccf28d1adafb26.js:37261
t._join @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:65342
t.join @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:65053
p @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:51878
(anonymous) @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:20563
r @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:48299
(anonymous) @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:20562
click @ _application-23de447831b30f899d0d24c783c7e5d428fab93934bb0b9486ccf28d1adafb26.js:48012
trigger @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:44318
e @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:41789
t._run @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:65360
t._join @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:65336
t.join @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:65053
p @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:51878
(anonymous) @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:44419
r @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:48299
handleEvent @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:44415
handleEvent @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:43352
(anonymous) @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:43742
dispatch @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:5251
v.handle @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:5058
_ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:37064 Uncaught {jqXHR: {…}, textStatus: „error", errorThrown: „", _discourse_displayed: true}
o @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:37064
trigger @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:69993
(anonymous) @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:70854
t.invoke @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:64635
t.flush @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:64527
t.flush @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:64731
t._end @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:65307
t.end @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:64993
t._run @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:65362
t.run @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:65042
h @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:51824
r.error @ _application-23de447831b30f899d0d24c783c7e5d428fab93934bb0b9486ccf28d1adafb26.js:10517
n @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:3305
fireWith @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:3435
l @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:9549
(anonymous) @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:9799
load (async)
send @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:9818
ajax @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:9448
i @ _application-23de447831b30f899d0d24c783c7e5d428fab93934bb0b9486ccf28d1adafb26.js:10537
(anonymous) @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:70335
n @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:70843
o @ _application-23de447831b30f899d0d24c783c7e5d428fab93934bb0b9486ccf28d1adafb26.js:10551
saveOrder @ _application-23de447831b30f899d0d24c783c7e5d428fab93934bb0b9486ccf28d1adafb26.js:37261
t._join @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:65342
t.join @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:65053
p @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:51878
(anonymous) @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:20563
r @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:48299
(anonymous) @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:20562
click @ _application-23de447831b30f899d0d24c783c7e5d428fab93934bb0b9486ccf28d1adafb26.js:48012
trigger @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:44318
e @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:41789
t._run @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:65360
t._join @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:65336
t.join @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:65053
p @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:51878
(anonymous) @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:44419
r @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:48299
handleEvent @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:44415
handleEvent @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:43352
(anonymous) @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:43742
dispatch @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:5251
v.handle @ _ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js:5058

Espero poder ajudar você.
1 curtida

Também comecei a experimentar esse problema hoje na versão 2.4.0.beta8

Parece não haver correlação entre a categoria ter ou não subcategorias; algumas categorias retornam o erro 422 mesmo após as subcategorias terem sido excluídas.

@Tom_Newhouse, @Taunusbahner, vocês têm um aviso nos logs dizendo que “As horas de fechamento automático devem ser maiores que 0”?

Editei uma categoria em outro fórum recentemente, e o fechamento automático estava definido como zero. Removi o 0 e consegui salvar.

Acho que encontrei a solução.

No meu caso, a categoria Sem categoria tinha 0 horas de fechamento automático configuradas, o que impedia que a ordem das categorias fosse salva: Editar a categoria Sem categoria e remover essa entrada de 0 resolveu o problema!

Acho que esse 0 foi introduzido quando a configuração de horas de fechamento automático apareceu pela primeira vez, e foi definida como zero (em vez de deixar nil). Isso funcionou para mim, espero que também resolva o seu problema.

Este tópico deve ser movido para #suporte e esta postagem escolhida como a solução, a menos que a equipe queira garantir que isso não acontecerá novamente e rastrear o bug para corrigi-lo programaticamente.

4 curtidas

Sem sinal desse erro e o campo “Fechamento automático do tópico em horas” já está em branco do meu lado.

Fiz mais alguns testes com isso e ainda estou enfrentando o problema.

Após examinar o banco de dados, parece que há vários conflitos de ID de posição de categoria que não correspondem ao que é exibido na própria interface de “Reordenar Categorias”.

Isso poderia ser a causa do problema e, se for, como resolvemos isso?

1 curtida

Hoje, reexaminei o erro, mas não encontrei solução.

Versão do Discourse: 2.4.0.beta9
Plugins instalados:

||Nome|Versão|Ativado?||
| --- | --- | --- | --- | --- |
||[discourse-chat-integration](https://github.com/discourse/discourse-chat-integration)|0.1|Sim||

[discourse-formatting-toolbar](https://github.com/iunctis/discourse-formatting-toolbar.git) 3.2 Sim

[discourse-merge-users](https://github.com/curiousdannii/discourse-merge-users) 0.1.0 Sim
[discourse-mlm-daily-summary](https://www.github.com/joebuhlig/discourse-mlm-daily-summary) 0.1 Sim

[discourse-telegram-notifications](https://github.com/davidtaylorhq/discourse-telegram-notifications) 0.1 Sim

[discourse-translator](https://github.com/tgxworld/discourse-translator) 0.2.0 Não

[discourse-whos-online](https://github.com/davidtaylorhq/discourse-whos-online) 1.0 Sim

[docker_manager](https://github.com/discourse/docker_manager) 0.1 Sim

Nos logs, aparecem apenas os seguintes erros.

Erro: Sem frase de motivo URL: https://forum… assets/ember_jquery-c2cca4a19fd4c70eabc95b010a6d7643955ec2a2251aeb1d70f625773eebea21.js Linha: 1 Coluna: 262166 Localização da janela: https://forum.

ActiveRecord::RecordInvalid (Falha na validação: slug inválido) /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/validations.rb:81:in `raise_validation_er

Falha ao lidar com a exceção no middleware de exceção do aplicativo: Falha na validação: slug inválido

Tente no modo seguro, para que você possa eliminar qualquer dúvida sobre os plugins.

Tente usar o log do console no seu navegador…

Isso pode ser o problema. Você tem uma categoria com um slug que é apenas números? Se sim, consegue editar o slug dessa categoria para algo diferente?

2 curtidas

Olá usuários,

enquanto isso, encontrei meu problema, ou acho que sim.

Antes de ter esses problemas, eu importei mais de 25.000 tópicos do Yahoo.
Essa categoria parece ser grande demais para o Discourse lidar?
Depois de excluir essa categoria, o fórum voltou a funcionar bem.

Existe um limite para o processamento em lote do algoritmo de reordenação? Eu esperaria um job em segundo plano para esse recurso, @simon?

Não há nenhum limite definido no código do Discourse para a quantidade de categorias que podem ser reordenadas. O processo não é tratado por um job em segundo plano. Acredito que a causa dos erros 422 seja quando o código de reorder chama cat.save!. Por exemplo, o seu problema ocorreu com uma categoria que tinha “Horas de fechamento automático” configurado como 0. Essa é uma configuração inválida, então salvar a categoria gerou um erro.

Parece possível que tentar reordenar um número enorme de categorias também possa gerar erros.

3 curtidas

Eu tinha esse problema.

Eu tinha a configuração Permitir Tópicos sem Categoria desmarcada. Quando permiti tópicos sem categoria, a gravação da reordenação funcionou.

3 curtidas

Vou encerrar este tópico, pois algumas soluções/resoluções foram encontradas. Se alguém encontrar algo semelhante, por favor, crie um novo tópico.