Отличная мысль! Когда я как обычный пользователь пытаюсь удалить свою тему, она действительно закрывается, но без небольшого поста-уведомления об этом (это происходит в коде здесь). Если я восстанавливаю тему, которую пометил на удаление, небольшого поста-уведомления тоже не создаётся. Само по себе такое поведение кажется мне приемлемым.
Неизвестным фактором здесь, похоже, являются модераторы. Думаю, нам нужно выяснить, что именно они делают и зачем.
В истории модерации ничего больше нет, нет заметки о пользователе… кроме того, что его пришлось «открыть» модератору. (не заново открыть, а просто открыть)
Я уверен, что наши модераторы не закрывали эту тему.
Я наблюдаю за нашим форумом — похоже, это связано с тем, что автор оригинального поста удалил свой пост. По какой-то причине система не удаляет и не скрывает сообщение сразу, а делает это лишь спустя некоторое время. Тема просто отображается как закрытая без каких-либо записей в системном журнале, что вызывает путаницу.
Я не знаю, что именно вызывает эту проблему, и не уверен, видна ли закрытая тема только пользователям с высоким уровнем доверия (TL4). Это закономерность, которую я заметил.
Надеюсь, это поможет в отладке!
РЕДАКТИРОВАНИЕ: Я также заметил, что ни у одной из этих закрытых тем от автора нет ответов. Значит, пост был удалён в течение короткого времени после создания.
Если речь идет о том, что пользователь удалил свою собственную тему, то я не считаю это ошибкой. Вы можете удалять свои темы, пока в них нет ответов. Это работает аналогично использованию значка корзины для любого вашего поста, не являющегося первым (сначала текст заменяется на «удалено автором», а затем пост скрывается через 24 часа).
Если вы обычный пользователь, а не сотрудник, модератор или администратор, то под таким постом не будет отображаться маленькое действие.
Вот пример, который я только что создал на try.discourse.org (хотя демо-сайт очищается в конце дня, поэтому к моменту, когда вы это прочтете, он может уже не существовать )
Я в британское время (BST), но не был уверен, когда демонстрационный сайт выполняет ежедневный сброс. Тема всё равно исчезла бы через 24 часа, так что, возможно, мне следовало сделать скриншот.
Хотя, оказывается, я просто повторял то, что уже обсуждалось ранее в этой теме, так что моя ошибка.
Мне действительно нужно больше информации, чтобы правильно разобраться в этом. Я готов попробовать ещё несколько вариантов, но у меня просто мало данных для анализа. Мне кажется, что просмотр темы как анонимный пользователь сейчас не даст ничего полезного. Возможно, вам стоит обратиться к кому-то из канала Marketplace, кто сможет изучить ваши логи, настройки сайта и базу данных, чтобы понять, что происходит.
@littleviolette, скрывает ли ваш сайт историю редактирования? Скриншот в первом сообщении этой темы не похож на тему, удалённую автором, так как весь контент на месте, а рядом с меткой времени нет значка редактирования. Если бы она была удалена автором, там должно было бы быть указано что-то вроде «удалено автором» и соответствующая пометка о редактировании.
@Fabby, на данном этапе я не уверен, что вы и littleviolette столкнулись с одной и той же проблемой. Вы решили не рассматривать некоторые предложения, основываясь на ответах littleviolette, поэтому я хотел бы вернуться к этому вопросу. Есть ли какие-то обновления по этому:
Также мне бы хотелось узнать, используете ли вы API или подключаете какие-либо интеграции с другими сервисами.
Если вы оба сможете ещё раз кратко изложить суть проблемы, основываясь на всех наблюдениях с момента начала этой темы, я буду очень признателен! Следить за всем становится немного сложно, поэтому краткое изложение, к которому я смогу обращаться во время тестирования, было бы здорово.
В настоящее время используется версия 2.8.0.beta4, проблема всё ещё сохраняется
Плагины на сегодня:
Название
Версия
Включен?
Discourse-auto-deactivate
Автоматически деактивирует неактивных пользователей, чтобы они должны были повторно подтвердить свой адрес электронной почты для входа в систему
0.0.1
Да
discourse-chat-integration
Этот плагин интегрирует Discourse с рядом провайдеров чата
0.1
Да
discourse-fingerprint
Вычисляет отпечатки пользователей, помогая администраторам бороться с интернет-троллями.
2
Да
discourse-push-notifications
Плагин для интеграции уведомлений Chrome и Firefox
0.3.0
Да
discourse-solved
Добавляет кнопку «Решено» к ответам на Discourse
0.1
Да
discourse-user-notes
Позволяет сотрудникам прикреплять заметки к пользователям
0.0.2
Да
docker_manager
Менеджер Docker для образа Discourse
0.1
Да
procourse-installer
Плагин Discourse для обнаружения и установки других плагинов Discourse.
0.1
Да
retort
Плагин React7ions для Discourse
1.2.3
Да
styleguide
Предпросмотр того, как стилизуются виджеты в Discourse
0.2
Нет
Неограниченное редактирование первого поста включено: проблема всё ещё сохраняется
Если мы отфильтруем, мы не увидим ничего за этот период: ни системных записей, ни discobot, ни модераторов. (Было бы неплохо, если бы мы могли исключить discobot из фильтров!)
Я не понимаю, что это значит: опубликовать тему там с описанием проблемы и приведённым выше резюме, прося кого-то, кто сможет изучить ваши логи, настройки сайта и базу данных, чтобы действительно понять, что происходит???
Есть ли какая-либо техническая информация (HTML / Wiki / PDF-руководства; пожалуйста, без видео!), доступная в Discourse, которая позволила бы нам разобраться в этом самостоятельно, поскольку у нас здесь работают настоящие Nерды и Gики (сбольшой буквы), и в нашей команде модераторов есть специалисты по PostgreSQL, сетям, виртуализации, разработчики, инженеры *nix и Windows…
Если вы изучите таблицу topics в вашей базе данных, то сможете определить точный момент закрытия темы (например, проверив столбец updated_at). Возможно, стоит запустить скрипт, который периодически выгружает содержимое таблицы тем, чтобы вы могли вернуться в прошлое. Если у вас настроен журнал репликации Postgresql, вы можете воспользоваться и им.
Затем нужно выяснить, что стало триггером этого события. Это может быть задача Sidekiq (в этом случае нужно проверить очередь задач Sidekiq, чтобы увидеть, какие задачи выполнялись в то время), действие пользователя (тогда нужно изучить production.log или лог-файл nginx) или внешний участник (клиент API, Zapier и т.п.), вызывающий API (это также можно найти в production.log или лог-файле nginx).
Спасибо за информацию, и если бы я знал, где искать, я уверен, что это было бы мне очень полезно.
Не могли бы вы отступить на три шага назад и дать ссылку на документ, описывающий шаг 1? Я являюсь модератором на сайте, но никогда не устанавливал Discourse, а владельцы Manjaro Discourse также являются лидерами проекта Manjaro, поэтому они очень заняты.
Достаточно ли быть модератором, или мне нужно попросить повысить меня до владельца, чтобы копнуть так глубоко?
Единственное, что я знаю о Discourse:
Сэм и Code_horror — основатели.
Он работает на базе PostgreSQL (который я уже устанавливал и запускал).
В иерархии есть один уровень выше модератора — это Владелец.
Discourse — это довольно хорошее программное обеспечение!
В любом случае, у меня нет такого документа — и если вам потребуется столь пристальное руководство, боюсь, вам стоит последовать совету Тейлора и опубликовать сообщение в Marketplace. Роли «владелец» не существует, и вам потребуется доступ на уровне системы (то есть вне Discourse, непосредственно в самой системе).
Спасибо за ответ и извините за задержку с нашим ответом. Вот что мы пока наблюдаем:
Тема отображается как закрытая, хотя нет никаких записей о том, что её закрыла система или пользователь. Такой записи нет даже в логах. Загадочное автоматическое закрытие происходит только с темами, содержащими лишь первый пост; судя по всему, это случается вскоре после создания поста. Это подтверждается скриншотом, который наш пользователь предоставил ниже: видно, что оригинальный пост был создан 2 минуты назад.
Примерно через 1 день после создания оригинального поста система удаляет его. Ниже приведены временные метки двух тем, которые были закрыты без записи в логах, а затем удалены системой.
Оригинальный пост создан: 26 августа 2021 г., 18:34
Оригинальный пост удалён системой: 27 августа 2021 г., 18:41
Оригинальный пост создан: 31 июля 2021 г., 17:48
Оригинальный пост удалён системой: 1 августа 2021 г., 18:02
Вот пример скриншота темы, которую я опубликовал в первом посте этой ветки сегодня:
Автоматическое закрытие тем настроено в некоторых категориях, но загадочное автоматическое закрытие происходит и в тех категориях, где таймер автоматического закрытия не настроен;
У нас не настроена опция solved topics auto close hours (часы автоматического закрытия решённых тем);
Наши модераторы не добавляют вручную таймеры автоматического закрытия к темам и не пытаются вручную отменять существующие таймеры;
Темы с этой проблемой не были перемещены между категориями?
Мы работаем на версии 2.8.0.beta6, обновлённой 2 дня назад. Недавно у нас не было сообщений об этом аномальном поведении автоматического закрытия. Я сообщу, если это повторится.
Недавно я заметил два автоматически закрытых треда от одного и того же автора оригинального поста (OP), но в системе нет записи об этом. Я сразу связался с OP и спросил, удалил ли он посты сам, на что OP ответил утвердительно. Это произошло в категории, где не установлен таймер автоматического закрытия.
Я подозреваю, что проблема связана с удалением OP первого поста. Однако, когда я на этот раз повторно открыл один из треков, оригинальный пост не был удалён через 24 часа. Я не знаю почему, но надеюсь, что это предоставит контекст тем, кто может заняться диагностикой проблемы.
РЕДАКТИРОВАНИЕ: Похоже, это происходит, когда пользователь, создавший пост, пытается его удалить. Удалённые посты для внешних наблюдателей отображаются как заблокированные, без указания на то, что пост был фактически удалён (а не просто заблокирован). Хорошая новость в том, что автор поста может «разблокировать» его, восстановив удалённый пост. Подробнее см. в теме по ссылке выше.
О, это выглядит очень многообещающе! В последнее время у меня было много других дел, поэтому у меня не было возможности углубиться в это. Постараюсь вернуться к этому на этой неделе. Надеюсь, смогу составить подробный сценарий воспроизведения для команды разработчиков, учитывая отличную информацию, которой все поделились.
Спасибо всем, кто помогал разобраться в этом!
Редактирование: На этой неделе времени не хватило, но на следующей неделе это будет в приоритете.
Не могли бы вы подтвердить все шаги, которые вы предприняли для воспроизведения этой проблемы? На данном этапе нет ничего слишком мелкого! Я много раз и разными способами пытался вызвать это на try.discourse.org, но безуспешно. Вам случайно удалось воспроизвести это там?
Вот основные моменты, которые я пробовал со стороны пользователя:
использование точного названия темы и контента, которые вы использовали
самостоятельное удаление темы сразу
самостоятельное удаление темы после периода прощения при редактировании
оба варианта для уровня доверия 0 и 1
выбор категории и тега
Во всех случаях до сих пор на посте появлялась ревизия редактирования, а содержимое заменялось на «(тема удалена автором)».
Я также на связи с @szhorvat, чтобы попытаться охватить административную сторону, надеясь увидеть, есть ли какие-либо интересные конфигурации настроек сайта.