Некоторые посты отображаются как вложенные ответы, а не как ответы

Как следует из названия, мы не можем найти закономерность. Я думал, что речь шла о Email replies land as embedded replies, not answers, но мы сталкиваемся с этой проблемой при ответах, опубликованных через веб-интерфейс, а не по электронной почте.

Смотрите «3 ответа» в первом сообщении здесь.

Эта ошибка блокирует использование этого плагина в серьёзной / производственной среде (сейчас мы просто тестируем его на вкусах мороженого). :slight_smile:

3 лайка

Я пытаюсь воспроизвести эту проблему, но пока без успеха. Можете ли вы предоставить больше подробностей о точных шагах, которые они предприняли, чтобы это произошло? Если вы создали новую тему после голосования, думаете ли вы, что сможете попросить их повторить это снова?

3 лайка

Привет! Я несколько раз пытался воспроизвести эту проблему разными способами, но пока получается только в том случае, если я цитирую автора оригинального поста (OP) в своём ответе. Однако при этом отображается весь пост, а не только вложенный ответ, так что, вероятно, это не то, что происходит у вас. Я продолжу попытки найти другой способ воспроизвести проблему. :slightly_smiling_face:

2 лайка

Мне тоже неясно. :person_shrugging:

Мы провели ещё один тест, и пока проблем не возникло, хотя участников было меньше:

Может ли это быть проблемой, возникающей при одновременном выполнении действий двумя пользователями с темой? У меня нет конкретных идей, но это может объяснить, почему тестирование с одним пользователем или в менее активной теме не выявляет ошибок, тогда как они могут появляться, когда с темой взаимодействуют более одного пользователя.

Кажется, мне удалось воспроизвести эту проблему. :slightly_smiling_face:

Воспроизведение:

Когда открыт редактор, можно изменить получателя, нажав кнопку ответа на конкретный пост. Это происходит в теме голосования за лучший ответ (OP), так как у OP есть кнопка Ответ.

  1. Откройте редактор, чтобы создать ответ.
  2. Нажмите кнопку Ответ в OP.
  3. Опубликуйте свой ответ — он будет опубликован как правильный голосуемый пост (опции голосования не работают), а также встраиваемые ответы OP, поскольку они связаны. Однако после перезагрузки страницы останется только встраиваемый ответ.

Вряд ли это могло произойти, но есть очень простой способ воспроизвести проблему: дважды щёлкнуть по кнопке Ответ в OP, чтобы открыть редактор.

В видео я показываю оба метода:

  1. Я открываю редактор через кнопку ответа, затем нажимаю кнопку «Ответ» в OP.
  2. Я открываю редактор двойным щелчком по кнопке «Ответ» в OP.

На самом деле оба метода приводят к одному и тому же результату, но, думаю, на вашем сайте сработал второй вариант. :slightly_smiling_face:

7 лайков

Вау, @Don (или, может, я должен называть тебя Шерлоком :slight_smile: ). Это впечатляет! Большое спасибо.

2 лайка

Это гениально. :slight_smile:

Теперь я могу воспроизвести это на моём тестовом сайте с помощью этого метода. :+1:

4 лайка

На самом деле, это ошибка в ядре. Мы не замечали её раньше, поскольку она не влияет на работу без плагина post-voting.

3 лайка

Как видно на скриншоте выше, эта же ошибка возникает в самом ядре, даже без включения плагина голосования за посты.

2 лайка

Вот исправление.

https://github.com/discourse/discourse/pull/23380

@Don, спасибо за отличный пример воспроизведения. Я попытался воспроизвести проблему, но у меня не получилось (оно успешно не воспроизводится) :crazy_face:

Проблема с этими встроенными ответами заключается в том, что reply_to_post_number устанавливается в 1, хотя этого не должно происходить.

Я рассматриваю возможность добавления миграции для существующих тем с голосованием за посты, чтобы очищать это число, если оно установлено в 1. Это предотвратит встраивание в старых постах, где это число установлено. Недостатком добавления миграции является то, что теперь на форумах может отображаться больше постов (с голосованием), которые изначально были встроены.

4 лайка

Эта тема была автоматически закрыта через 6 дней. Новые ответы больше не принимаются.