Как Meta обрабатывает значок для докладчиков багов?

Я знаю, что это происходит, когда кто-то из Discourse ставит лайк теме с багом, опубликованной в bug. Используете ли вы веб-сервис для этого, просто отслеживая первый лайк на новом посте, и проверяете ли, чтобы его не лайкнули несколько раз кто-то из CDCK?

Хотелось бы узнать больше о вашей реализации!

Для этого у нас есть специальный значок. :+1: (дополнительная информация: Creating triggered custom badge queries и Enable Badge SQL)

Вот код для него:

SELECT distinct p.user_id, p.created_at granted_at, p.id post_id
FROM badge_posts p
JOIN topics t ON t.id = p.topic_id
JOIN post_actions pa ON pa.post_id = p.id AND 
      post_action_type_id = (
                SELECT id FROM post_action_types WHERE name_key = 'like'
       ) AND 
       pa.user_id IN (
           SELECT gu.user_id
           FROM group_users gu
           WHERE gu.group_id = ( SELECT id FROM groups WHERE name ilike 'team' ) 
       )
WHERE category_id = (
  SELECT id FROM categories WHERE name ilike 'bug'
) AND p.post_number = 1

(Кстати, я также создал аналогичные значки, которые срабатывают при определённой реакции от конкретной группы :slight_smile:)

@JammyDodger это потрясающе! У меня пока не было времени заняться запросами пользовательских значков, но, возможно, это наконец даст мне возможность начать.

Если можно спросить, как вы обрабатываете сообщения об ошибках внутри компании, помимо значка? По крайней мере, в контексте Meta? Вы вручную добавляете их в какую-то очередь ошибок? Используете ли вы плагин для отправки их в очередь ошибок прямо из темы?

Меня также интересует, как организована работа с сообщениями об ошибках и запросами на новые функции в Discourse и как вы связываете это с вашей системой разработки/внутренними системами.

Они очень увлекательны. :slight_smile: И если вам нужна вдохновение или советы, вокруг есть множество примеров. :+1:

Категория bug является важной частью нашей очереди ошибок. :slight_smile: Чтобы избежать дублирования, мы часто решаем проблему прямо в теме Meta (используя шепот, @упоминания и назначения), и действительно разделяем вопросы на зону команды только в том случае, если они требуют значительного дополнительного обсуждения или участия других. Мы также получаем сообщения об ошибках через каналы поддержки клиентов, которые также часто решаются «в теме», если только нет нескольких сообщений или уже существует публичное сообщение (в этом случае обычно используется одно как основное, чтобы не слишком распылять обсуждение, а остальные перекрестно ссылаются на него). Для тех, что мы обнаруживаем сами, у нас есть несколько внутренних тем, которые мы можем использовать, чтобы записать небольшие задачи для того, чтобы кто-то мог взяться за их решение, а для более крупных задач мы создаем отдельную тему так же, как и публичная категория bug.

Обычно процесс выглядит так: поступает сообщение, и кто-то из нас пытается воспроизвести ошибку и собрать все необходимые дополнительные детали. После подтверждения мы отправляем сигнал @упоминания соответствующей группе/лицу, чтобы определить приоритет и назначить задачу. После получения исправления оно публикуется в посте для закрытия темы (с задержкой таймера темы, чтобы мы могли сначала убедиться, что всё работает как ожидалось :slight_smile:).

#feature немного отличается, так как внутри часто требуется гораздо больше обсуждений. Мы стараемся минимизировать использование шепота в этих публичных темах, оставляя его для коротких заметок и привлечения внимания к темам, которые вызывают дополнительный интерес (снова надежные @упоминания :slight_smile:). Таким образом, мы не распыляем обсуждение между слишком большим количеством мест. Менеджеры по продукту также любят публично участвовать в этих обсуждениях, чтобы исследовать различные варианты использования и оценить возможности (а также дать людям понять, как они мыслят по этому вопросу, поскольку мы стремимся к прозрачности там, где это возможно :slight_smile:). Если #feature становится тем, что мы серьезно рассматриваем, для него создается внутренняя тема, где разработчики, дизайнеры, менеджеры по продукту, любопытные модераторы сообщества и другие могут высказать свои идеи и макеты о том, как, по их мнению, это можно лучше всего реализовать (перекрестно связанная с темой Meta для объединения).

Теперь, когда я это написал, не уверен, насколько это полезно… Но дайте знать, если захотите узнать что-то еще. :slight_smile: