По какой-то причине я не могу удалить предустановленные «Зарезервированные имена пользователей» (несколько недель назад это ещё удавалось, но теперь — нет) — все они отключены.
Я вошёл под учётной записью администратора (той, которую создал при первой регистрации после установки). Есть ещё одна учётная запись администратора, и для обеих ситуация выглядит одинаково.
Discourse обновлён до последней версии.
Я пробовал войти в режиме инкогнито (чтобы исключить возможные проблемы с кэшем или cookie), но результат тот же.
Не уверен, связано ли это с чем-то, но в какой-то момент, когда я создал вторую учётную запись администратора, с неё я сначала отозвал права администратора у первой (исходной) учётной записи, а затем снова предоставил их (сейчас обе учётные записи имеют права администратора).
Обе учётные записи администраторов обладают правами администратора и модератора и связаны с соответствующими группами.
Ваши изменения в списке администраторов не имеют к этому отношения. Имена пользователей по умолчанию, зарезервированные системой, теперь жёстко прописаны как обязательные значения.
Но не было бы лучше зашить в код только одно или два значения (предполагая, что проблема в пустых значениях этого поля, судя по сообщению о коммите)? Я имею в виду, допустим, я хочу создать пользователей с именами «support» или «info» для некоторых сообщений на форуме (или просто Admin). Значит ли это, что мне нужно просто изменить файл YML и пересобрать проект, чтобы это стало возможным?
Если их нельзя удалить, их больше не должно быть. У всех токенов есть значки X, создающие впечатление, что их можно удалить. Или хотя бы следует убрать эти X.
В описательном тексте можно перечислить обязательные (или объяснить, почему у некоторых нет значков X, в зависимости от ситуации).
iPhones иногда так делают. И довольно часто в то же время они отказываются открывать редактор. Закрыв и снова открыв приложение, можно это исправить. Можно было бы отправить отчет об ошибке, но iPhone — это немного больное место, и проблема проявляется непостоянно, поэтому я никогда не стал этого делать.
@southpaw После перезапуска всё заработало, однако после перестроения настройки снова возвращаются к значениям по умолчанию.
Учитывая, что идея этого коммита заключалась лишь в том, чтобы запретить пустые значения для ключа, не было бы разумнее установить mandatory_values в какое-нибудь фиктивное значение? Тогда условие «не пустое» будет выполнено, и все важные значения будут исключены из этого списка.
Подскажите, пожалуйста, может ли быть принят такой pull request. Спасибо.
Я убрал несколько обязательных значений здесь (info, support и community), остальные можно оставить как есть, так как они с большей вероятностью могут запутать участников.
и пользователи всё равно не могут их использовать, если Администратор не разрешит их использование — удалив их из этого списка через панель администратора.
И, на мой взгляд, для самохостинга лучше предоставить администратору свободу выбора.
Рассмотрим такой сценарий: я хочу добавить аккаунт с именем moderator. При текущей настройке мне приходится подключаться к серверу по SSH, изменять файл настроек сайта (удаляя значение в mandatory_values) и перезапускать контейнер, чтобы это стало возможным (и после пересборки это изменение сбрасывается).
Но если все значения (за исключением одного) из mandatory_values будут удалены (но НЕ из default), то как Администратор я смогу просто удалить значение “moderator” в панели администратора (в разделе зарезервированных имён пользователей), быстро переименовать имя существующего пользователя в moderator и снова добавить слово moderator, чтобы предотвратить его использование в будущем.
Таким образом, при предложенном мной подходе все эти имена пользователей по-прежнему запрещены по умолчанию, однако администратор может легко удалять или добавлять их по мере необходимости, не внося изменений в файлы настроек сайта.