meglio
(Anton)
03.Ноябрь.2021 09:43:40
1
ArgumentError (Превышен лимит атрибутов на элемент) — при нажатии на иконку «изменить» для просмотра различий версий темы.
Консоль разработчика
Логи
Сообщение (2 копии)
ArgumentError (Превышен лимит атрибутов на элемент)
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'
Трассировка стека
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'
Окружение
HTTP HOSTS: jai.community
sam
(Sam Saffron)
04.Ноябрь.2021 00:32:20
2
Это на сайте, который мы для вас хостим? Нам нужно увидеть diff, вызывающий патологическое поведение.
meglio
(Anton)
04.Ноябрь.2021 00:46:32
3
Это решение с самостоятельным размещением. Как лучше всего поделиться с вами разницей?
sam
(Sam Saffron)
04.Ноябрь.2021 00:52:39
4
Если ничего секретного, можете попробовать воспроизвести это здесь? Просто оставьте ответ, подождите 10 минут и отредактируйте сообщение с описанием проблемы.
meglio
(Anton)
04.Ноябрь.2021 00:57:11
5
Это не публичное сообщество, и материалы касаются бета-версии продукта, которая также не является публичной. Поэтому, выражая глубокое уважение как автору материалов, так и команде Discourse, я предпочитаю не делиться ими здесь. Есть ли какой-то другой простой способ?
1 лайк
sam
(Sam Saffron)
04.Ноябрь.2021 01:43:21
6
Наверное, принцип «разделяй и властвуй»? Попробуйте создавать всё более и более мелкие репродуцируемые примеры, пока не найдёте проблемную строку?
1 лайк
meglio
(Anton)
04.Ноябрь.2021 01:51:19
7
Может, мне опубликовать содержимое той конкретной темы в личном сообщении вам здесь, в Meta?
sam
(Sam Saffron)
04.Ноябрь.2021 01:53:34
8
Не стесняйтесь, особенно если вы можете создать воспроизводимый пример.
У меня наблюдается очень похожая (или связанная) проблема.
Шаги воспроизведения / причина:
Проблема возникает при работе с очень длинными сообщениями (около 100 000 символов).
Она вызывается именно крупными изменениями (когда изменяется огромная часть содержимого).
При попытке сохранить такое масштабное редактирование бэкенд часто выдаёт тайм-аут (502/504). Я подозреваю, что коренная причина кроется в вычислении разницы (diff) между старой и новой версиями, что становится крайне ресурсоёмким при сочетании этих двух условий.
Закрываю эту тему, так как обсуждение продолжается здесь:
При редактировании и сохранении очень длинных сообщений (около 100 000 символов) мы столкнулись с проблемой тайм-аута на стороне сервера. Во время операции сохранения сервер становится недоступным, что приводит к ошибкам 502/504. В консоли фронтенда отображается следующий стек ошибок:
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
Мы провели ряд сравнительных тестов, ко…