Зарезервированные имена пользователей по умолчанию нельзя удалить

По какой-то причине я не могу удалить предустановленные «Зарезервированные имена пользователей» (несколько недель назад это ещё удавалось, но теперь — нет) — все они отключены.

  • Я вошёл под учётной записью администратора (той, которую создал при первой регистрации после установки). Есть ещё одна учётная запись администратора, и для обеих ситуация выглядит одинаково.
  • Discourse обновлён до последней версии.
  • Я пробовал войти в режиме инкогнито (чтобы исключить возможные проблемы с кэшем или cookie), но результат тот же.

Не уверен, связано ли это с чем-то, но в какой-то момент, когда я создал вторую учётную запись администратора, с неё я сначала отозвал права администратора у первой (исходной) учётной записи, а затем снова предоставил их (сейчас обе учётные записи имеют права администратора).

Обе учётные записи администраторов обладают правами администратора и модератора и связаны с соответствующими группами.


Привет, @tig3,

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

Привет, @southpaw, спасибо за ответ.

Но не было бы лучше зашить в код только одно или два значения (предполагая, что проблема в пустых значениях этого поля, судя по сообщению о коммите)? Я имею в виду, допустим, я хочу создать пользователей с именами «support» или «info» для некоторых сообщений на форуме (или просто Admin). Значит ли это, что мне нужно просто изменить файл YML и пересобрать проект, чтобы это стало возможным?

Спасибо.

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

В описательном тексте можно перечислить обязательные (или объяснить, почему у некоторых нет значков X, в зависимости от ситуации).

Кажется, символы X удаляются из обязательных полей.

@southpaw Я только что выполнил чистую установку и попытался отредактировать файл site_settings.yml, но это не сработало ни до, ни после перестроения.

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

Тогда я передумал. Я посмотрел на своём форуме, но теперь вижу, что мне нужно обновиться!

(Кстати, я не смог процитировать вас, так как не мог выделить текст — iPhone, приложение Hub.)

iPhones иногда так делают. И довольно часто в то же время они отказываются открывать редактор. Закрыв и снова открыв приложение, можно это исправить. Можно было бы отправить отчет об ошибке, но iPhone — это немного больное место, и проблема проявляется непостоянно, поэтому я никогда не стал этого делать.

@southpaw После перезапуска всё заработало, однако после перестроения настройки снова возвращаются к значениям по умолчанию.

Учитывая, что идея этого коммита заключалась лишь в том, чтобы запретить пустые значения для ключа, не было бы разумнее установить mandatory_values в какое-нибудь фиктивное значение? Тогда условие «не пустое» будет выполнено, и все важные значения будут исключены из этого списка.

Подскажите, пожалуйста, может ли быть принят такой pull request. Спасибо.

Я убрал несколько обязательных значений здесь (info, support и community), остальные можно оставить как есть, так как они с большей вероятностью могут запутать участников.

@martin Спасибо, однако, полагаю, что все остальные также следует удалить (оставив какое-то случайное/фиктивное значение, как я уже писал ранее)

Я считаю, что по этой причине эти значения уже существуют в разделе default

и пользователи всё равно не могут их использовать, если Администратор не разрешит их использование — удалив их из этого списка через панель администратора.

И, на мой взгляд, для самохостинга лучше предоставить администратору свободу выбора.

Рассмотрим такой сценарий: я хочу добавить аккаунт с именем moderator. При текущей настройке мне приходится подключаться к серверу по SSH, изменять файл настроек сайта (удаляя значение в mandatory_values) и перезапускать контейнер, чтобы это стало возможным (и после пересборки это изменение сбрасывается).

Но если все значения (за исключением одного) из mandatory_values будут удалены (но НЕ из default), то как Администратор я смогу просто удалить значение “moderator” в панели администратора (в разделе зарезервированных имён пользователей), быстро переименовать имя существующего пользователя в moderator и снова добавить слово moderator, чтобы предотвратить его использование в будущем.

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

Я думаю, это зависит от используемого языка. На немецком форуме «ты» вообще не вводит в заблуждение.