На нашем основном сайте пользователи часто используют подчеркивания и дефисы в именах пользователей. При переносе этих аккаунтов на наш форум Discourse один или несколько из этих символов часто удаляются из имени пользователя, что приводит к несоответствию.
Форум предназначен исключительно для пользователей сайта, и возможность сопоставления имён пользователей крайне важна.
Примеры:
kayakaya_ превращается в kayakaya
__aena13 превращается в _aena13
На данный момент мы не нашли способа автоматически удалять или отключать аккаунты на форуме при закрытии основных аккаунтов, или хотя бы генерировать отчёт об этом. Возможно ли это?
Мы тоже наблюдаем это при использовании SSO, когда имена пользователей преобразуются.
Я уже упоминал об этом здесь, но эта тема более актуальна — возможно, кто-то сможет посмотреть.
С введением поддержки Unicode для имён пользователей и групп теперь возможно использовать имена вроде 中国 (что замечательно!), однако Discourse не разрешает начинать или заканчивать имя пользователя дефисом (хотя, например, подчёркивание допустимо).
Есть ли причина запрещать дефисы в начале или в конце имени? Есть ли шанс пересмотреть эту политику, если нет очевидных недостатков? /cc @Falco
Вы можете попробовать переопределить эти правила в собственном плагине и работать с ними несколько недель. Если в обычном использовании Discourse проблем не возникнет, отправьте pull request.
Я попробовал это, и у меня получилось корректно обрабатывать дефисы в начале и в конце имён пользователей, включая упоминания.
С нижним подчёркиванием в начале и в конце имени пользователя повезло меньше: в поле ввода сообщения парсер Markdown, похоже, имеет приоритет над @-упоминаниями, из-за чего имя пользователя отображается курсивом вместо ссылки.
Сейчас я немного застрял, так как не уверен, куда смотреть, чтобы решить эту проблему. Есть какие-нибудь советы, @Falco?