В Discourse можно настроить режим, при котором учётные записи пользователей создаются при регистрации, но должны быть одобрены сотрудником перед активацией. Это распространено, например, на сайтах с подпиской.
В работе этой функции были два важных аспекта:
-
При отклонении учётных записей сотрудниками никогда не отправлялись негативные уведомления. Уведомление отправлялось только в одном случае — когда сотрудник одобрял учётную запись.
-
Любой элемент в очереди на рассмотрение, будь то пост или учётная запись, по умолчанию отклоняется через 60 дней, если модератор не предпринимает действий в течение этого периода. Эта логика существовала во многих предыдущих версиях Discourse, так как этот путь был выбран как «безопасный по умолчанию».
К сожалению, когда мы добавили новую запрошенную функцию, позволяющую пользователям узнавать причину отказа, мы не учли, что комбинация пунктов #1 и #2, указанных выше, привела к тому, что Discourse отправил индивидуальные негативные уведомления всем пользователям, находившимся в очереди на одобрение более 60 дней!
Эти электронные письма выглядели так:
и содержали под брендом клиента следующую фразу:
Сотрудник отклонил вашу учётную запись на {brand}.
Отправка такого сообщения стольким «отклонённым» учётным записям создала проблемы для наших клиентов на хостинге. Мы глубоко сожалеем об этой ошибке — это полностью наша вина в Discourse, и вся ответственность лежит на нас.
В настоящее время мы работаем с нашими клиентами, чтобы сделать всё возможное для исправления ситуации.
Мы хотим чётко заявить: это наш баг, и мы отправили очень запутанное, плохо сформулированное письмо многим клиентам, что привело к значительным нарушениям работы и, возможно, даже к потере доходов из-за отмены подписок клиентами. Нам очень жаль это, и самое меньшее, что мы можем сделать, — это сообщить всем, что это проблема Discourse, и мы в Discourse ошибочно отправили это негативное письмо. Мы полностью несём ответственность за этот баг и его последствия. Если вы получили это письмо, это произошло не по вине кого-либо, кроме нас — команды Discourse.
Мы понимаем, насколько серьёзна эта ситуация. Мы продолжаем тесно работать с провайдером членства и нашими пострадавшими клиентами, чтобы взять на себя ответственность за свои действия и улучшить процессы, чтобы подобное не повторилось.
Мы также предлагаем следующий месяц хостинга для этого клиента бесплатно в качестве компенсации за причинённые проблемы. Мы искренне извиняемся за ошибку и то, как она повлияла на наших клиентов. Мы обязательно пересмотрим наши процессы, чтобы убедиться, что подобные проблемы в будущем будут менее вероятны.
Джефф Аткин
Генеральный директор, Discourse
