Выбор постов и ответов неправильно подсчитывает количество постов

У меня есть тема с 53 ответами. Если я пройду по теме и индивидуально выберу каждый отдельный пост в теме, у меня будет выбрано 53 поста. :+1:

Однако, если я пройду по теме и использую кнопку выбрать + ответы (где она доступна, в противном случае просто выбрать), у меня в итоге будет счётчик 60 постов:

И на самом деле, если я сниму выделение с поста, у которого есть ответ, счётчик уменьшится на один. Но когда я снова делаю выбрать + ответы, счётчик увеличивается на два!

Почему это важно? Ну, во-первых, если система считает, что вы выбрали столько же постов, сколько их есть в теме (или больше), вы теряете возможность создать новую тему из выбранных постов! Именно так я впервые заметил эту ошибку:

1 лайк

Это очень забавно:

2 лайка

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

1 лайк

Это была и моя первоначальная мысль, но в той тестовой теме нет таких сообщений от модераторов.

2 лайка

Я просто проверял это но не смог воспроизвести. (Я использую ветку master, последний коммит e7e23e8d9ce73ac61b970d5192f9f4af90b3a87c)

Я создал тему, написал обычные посты и ответы на них. Результат был стабильным. При выборе опции «выбрать + ответы» автоматически выбирается пост и его ответы.

Примечание: тема, посты и ответы были созданы одним и тем же пользователем.

Редактирование: Мне удалось воспроизвести проблему, когда я снимаю выделение и затем снова выделяю. Похоже, проблема возникает при снятии выделения у опции «выбрать + ответы», а затем при повторном снятии:

  • Ответы не снимаются с выделения;
  • При повторном выборе опции «выбрать + ответы» ответы выделяются дважды (хотя они уже были выделены).
3 лайка

Я только что открыл PR с предложением исправления FIX: double selecting replies by ghassanmas · Pull Request #17086 · discourse/discourse · GitHub

4 лайка

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