meglio
(Anton)
3 Novembro , 2021 09:43
1
ArgumentError (Limite de atributos por elemento excedido) - ao clicar no ícone “editar” para ver as diferenças de versão do tópico.
Console do Desenvolvedor
Logs
Mensagem (2 cópias relatadas)
ArgumentError (Limite de atributos por elemento excedido)
lib/discourse_diff.rb:171:in `tokenize_html_blocks'
lib/discourse_diff.rb:10:in `initialize'
app/serializers/post_revision_serializer.rb:117:in `new'
app/serializers/post_revision_serializer.rb:117:in `body_changes'
(eval):18:in `_fast_attributes'
app/controllers/application_controller.rb:520:in `render_json_dump'
app/controllers/posts_controller.rb:408:in `latest_revision'
app/controllers/application_controller.rb:397:in `block in with_resolved_locale'
app/controllers/application_controller.rb:397:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:71:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:356:in `call'
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
lib/middleware/request_tracker.rb:187:in `call'
Backtrace
nokogiri-1.12.5-x86_64 (linux) lib/nokogiri/html5/document_fragment.rb:38:in `fragment'
nokogiri-1.12.5-x86_64 (linux) lib/nokogiri/html5/document_fragment.rb:38:in `initialize'
nokogiri-1.12.5-x86_64 (linux) lib/nokogiri/html5/document_fragment.rb:52:in `new'
nokogiri-1.12.5-x86_64 (linux) lib/nokogiri/html5/document_fragment.rb:52:in `parse'
nokogiri-1.12.5-x86_64 (linux) lib/nokogiri/html5.rb:242:in `fragment'
lib/discourse_diff.rb:171:in `tokenize_html_blocks'
lib/discourse_diff.rb:10:in `initialize'
app/serializers/post_revision_serializer.rb:117:in `new'
app/serializers/post_revision_serializer.rb:117:in `body_changes'
(eval):18:in `_fast_attributes'
Env
HTTP HOSTS: jai.community
sam
(Sam Saffron)
4 Novembro , 2021 00:32
2
Isso está no site que hospedamos para você? Precisamos ver o diff que causa o comportamento patológico.
meglio
(Anton)
4 Novembro , 2021 00:46
3
É auto-hospedado. Qual seria a melhor maneira de compartilhar o diff com você?
sam
(Sam Saffron)
4 Novembro , 2021 00:52
4
Se não houver nada secreto, você pode tentar reproduzir aqui? Basta postar uma resposta, esperar 10 minutos e editar o problema.
meglio
(Anton)
4 Novembro , 2021 00:57
5
Não se trata de uma comunidade pública, e o material refere-se a um produto em beta que também não é público. Portanto, com todo o respeito tanto ao autor do material quanto à equipe do Discourse, prefiro não compartilhá-lo aqui. Existe alguma outra maneira simples?
1 Curtiu
sam
(Sam Saffron)
4 Novembro , 2021 01:43
6
Acho que dividir e conquistar? Tente criar reproduções cada vez menores até encontrar a linha culpada?
1 Curtiu
meglio
(Anton)
4 Novembro , 2021 01:51
7
Devo postar o conteúdo desse tópico específico em uma mensagem privada para você aqui no Meta?
sam
(Sam Saffron)
4 Novembro , 2021 01:53
8
Fique à vontade, especialmente se você puder criar um caso reproduzível.
Estou enfrentando um problema muito semelhante (ou relacionado).
Passos para reproduzir / causa:
O problema ocorre em publicações extremamente longas (cerca de 100.000 caracteres).
É desencadeado especificamente por revisões em larga escala (quando uma grande parte do conteúdo é alterada).
Ao tentar salvar uma edição tão massiva, o backend frequentemente atinge um tempo limite (502/504). Suspeito que a causa raiz seja o cálculo do Diff entre a versão antiga e a nova, o que se torna extremamente custoso sob essas duas condições combinadas.
Fechando este tópico, pois a discussão continua em:
Ao editar e salvar posts extremamente longos (cerca de 100.000 caracteres), encontramos um problema de tempo limite no backend. O servidor torna-se inresponsivo durante a operação de salvamento, resultando em erros 502/504. O console do front-end exibe a seguinte pilha de erros:
ajax-error.js:36:15
l ajax-error.js:36
u ajax-error.js:75
d ajax-error.js:84
Ember 41
update rest.js:72
update rest.js:72
save rest.js:115
editPost composer.js:1147
Ember 6
Realizei alguns testes comparativos que suger…