Неожиданный порядок сортировки в очереди модерации при использовании порядка «Priority»

Шаги для воспроизведения

  1. Перейдите в сообщество, где у вас есть права администратора.
  2. Настройте приоритеты очереди модераторов, задав для «Другое» приоритет «Низкий».
  3. Настройте приоритеты очереди модераторов, задав для «Не по теме» приоритет «Средний».
  4. Пометьте пост с причиной «Другое» и сообщением «Проверка работы».
  5. Пометьте другой пост с причиной «Не по теме».
  6. Перейдите в очередь проверки модераторов.
  7. Убедитесь, что «Статус» установлен в «В ожидании».
  8. Убедитесь, что параметр «Сортировать по» установлен в «Приоритет».
  9. Нажмите «Обновить».

Ожидаемое поведение: Записи в очереди модераторов должны быть отсортированы от наивысшего к низшему приоритету.
Фактическое поведение: Записи в очереди модераторов сортируются от низшего к наивысшему приоритету.

Обходной путь: Установка параметра «Сортировать по» в значение «Приоритет (обратно)» сортирует помеченные посты в нужном порядке — от наивысшего к низшему приоритету.

С точки зрения разработчика я понимаю, почему порядок сортировки по умолчанию является восходящим, а «обратно» — нисходящим. Но я ожидал обратного, и, полагаю, средний пользователь, не являющийся разработчиком, тоже.

Возможное решение: Переименовать текст «Приоритет» в «Приоритет (от низкого к высокому)», а текст «Приоритет (обратно)» — в «Приоритет (от высокого к низкому)».

Связано? Order of reviewed flags on review queue … однако там рассматривается в основном случай, когда «Статус» установлен в «(все проверенные)».

4 лайка

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

  1. Пометьте ещё один пост как «Что-то другое»
  2. Перейдите в очередь модераторов
  3. Убедитесь, что «Статус» равен «В ожидании»
  4. Убедитесь, что параметр «Сортировать по» установлен в «Приоритет»
  5. Нажмите «Обновить»

Ожидаемый результат: Записи в очереди модераторов должны быть отсортированы по приоритету.
Фактический результат: Записи в очереди модераторов отсортированы хронологически по времени пометки (от старых к новым).

Кроме того, параметр «Приоритет (обратный)» сортирует записи хронологически по времени пометки (от новых к старым).

2 лайка

Привет @lee-dohm :wave:

Мне не удалось воспроизвести эту проблему локально с помощью предоставленных вами шагов. После изучения кода я подтвердил, что порядок Priority — по возрастанию, а Priority (reverse) — по убыванию. Также, когда два элемента имеют одинаковый приоритет, мы сортируем их по значению created_at в порядке убывания.

Не могли бы вы проверить, имеют ли флаги something else более высокий балл, чем флаг off-topic? Формула учитывает разные факторы при расчете балла.

Дайте знать, и я продолжу расследование, если это потребуется!

3 лайка

Вы правы: при выборе порядка сортировки «По приоритету» элементы, похоже, сортируются по полю score по убыванию, а затем по полю created_at по возрастанию.

С другой стороны, я по-прежнему считаю это неочевидным поведением. Если только я чего-то не упускаю, оценка объекта, подлежащего проверке, доступна только через доступ к базе данных (либо прямой доступ, либо через плагин data-explorer)?

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

3 лайка

Спасибо! Это тоже очень информативный небольшой обзор :sparkling_heart:

Имеет ли смысл использовать слово «Оценка» вместо «Приоритет» для сортировки? Потому что здесь вы используете слово «приоритеты»:

А здесь — «оценка»:

2 лайка

Спасибо за предложение, Ли!

Я создал PR для переименования Priority в Score для сортировки, но забыл ответить здесь.

3 лайка

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