Отключение "enable names" заставляет администратора вести себя странно

Отключение параметра enable_names убирает полное имя во всех частях GUI.
За исключением представления администратора — пока всё хорошо.
Кажется, что работает, но на самом деле нет.

  • Сначала имя не отображается
  • Его можно отредактировать
  • После этого оно появляется, но никогда не сохраняется

Смотрите видео

Версия: tests-passed на утро сегодняшнего дня.

8 лайков

При редактировании пользователя в меню администратора. Изменение Имени пользователя сохраняется, но после обновления страницы сохранение не применяется.

Имя в поле Имя отсутствует.

Редактирование и сохранение. После обновления страницы имя не сохраняется, как показано на изображении выше.

Запуск тестов пройден, актуальная версия.

3 лайка

Включена ли настройка enable names?

5 лайков

Нет, не включено. Это недавняя ошибка. @JammyDodger, можно ли объединить эту тему с темой Ричарда?

3 лайка

Я не уверен, что она недавняя

1 лайк

Администратор должен иметь возможность просматривать и обновлять имя, независимо от настройки enable_names. :thinking:

4 лайка

Что ж, достаточно новый, так как я не заметил этого изменения в поведении до недавнего времени. (Хотя, похоже, что проблема была впервые сообщена, возможно, 4 года назад?)

Пост Ричарда от января.

Стоит отметить, что двум форумам, которыми я пользуюсь, 4 и 7 лет соответственно.

Поэтому, скорее всего, я не заметил изменения, когда оно произошло, так как редко меняю или исправляю детали для пользователя.

Кажется, им, возможно, нужно добавить настройку? Чтобы имя было включено, и был выбор: отображать его глобально или нет.

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

2 лайка

Поднятие темы


Администратор должен иметь возможность просматривать содержимое поля «Имя». На скриншоте показан мой аккаунт, но даже после редактирования этого поля и сохранения оно очищается при обновлении страницы.

Я был уверен, что мы обсуждали это ранее, но не мог найти информацию через поиск.

Единственная настройка сайта — снять скрытие и добавить отображение во все разделы сайта.

Администратор всегда должен иметь возможность просматривать это пользовательское поле. И, на мой взгляд, эта информация также должна отображаться в меню настроек пользователя «Аккаунт», так как это часть данных их аккаунта.

3 лайка

Хорошо, я выяснил, что настройка, о которой упоминал @Moin, не заполняется для всех пользователей, а только для текущего пользователя на его карточке.

Включение отображения имён работает. Но любая информация, которую пользователи вводили ранее в это поле, оказывается пустой. О, оказывается, некоторые пользователи не заполняли это поле. Загадка разгадана.

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

Я выяснил причину:

class BasicUserSerializer < ApplicationSerializer
  # ...
  def include_name?
    SiteSetting.enable_names?
  end

Здесь нет специальной проверки для администратора.

Но мне интересно, как это нужно изменить? Может ли модератор изменить имя пользователя или только администратор? :thinking:

3 лайка

Думаю, да.

3 лайка

Мне просто интересно, должны ли модераторы подвергаться действию функции «скрыть везде» для описания… Возможно, они не должны видеть имя даже в панели администратора?

upd: Согласно этому описанию, администратор тоже не должен иметь возможности это видеть

1 лайк

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

Однако после включения отображения имён нарушается конфиденциальность, так как теперь в письмах указывается настоящее имя. Разве нет дополнительного параметра? Я не смог найти его после того, как один из участников сообщил, что в уведомлениях по электронной почте вместо просто ника отображаются настоящие имена.

Например, в письме пользователю от меня в ответ на его сообщение было указано моё настоящее имя.

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

Форум стабильной ветки, за которым я также слежу, не затронут обсуждаемым здесь изменением поведения.

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

И какой CSS-код мне использовать, чтобы на карточке пользователя текущий пользователь видел только своё собственное реальное имя?

1 лайк

Я думаю, что модераторы также могут просматривать и редактировать пользовательские поля, даже если для них отключены опции «Редактировать после регистрации» и «Показывать на публичном профиле». В таком случае пользователь не видит своё поле, но модераторы могут. Возможно, было бы логично, если бы поле имени вело себя аналогичным образом.

Тогда описание можно изменить. Например:

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

2 лайка

Спасибо, Ричард! Я смог воспроизвести проблему, о которой вы сообщали, и мы её исправим. :+1: Администраторы всегда должны иметь возможность видеть и управлять именами пользователей, даже если они не отображаются в различных разделах форума.

Что касается остальной части этого обсуждения, я вижу, что ещё предстоит проделать некоторую работу, чтобы объединить эти настройки и сделать их более понятными. Я добавлю это в наш список задач для дальнейшего изучения.

Тем временем я сделал небольшой PR, чтобы убрать двусмысленную формулировку в описании настройки сайта enable names.

3 лайка

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

2 лайка

По этой теме, похоже, есть три пункта действий:

  1. Всегда разрешать администраторам просматривать и редактировать полное имя пользователя, даже если настройка сайта enable_names отключена.
  2. Не включать полное имя пользователя в письма, когда настройка сайта enable_names отключена.
  3. Изменить описание настройки сайта enable_names, чтобы указать, что это не функция безопасности. Администраторы и модераторы всегда могут видеть имена, а также их можно найти через .json. Если сайты хотят обеспечить пользователям анонимность, им не следует указывать свои настоящие имена в поле имени.

Мы изучим пункты (1) и (2).

Что касается пункта (3), нам нужно найти более точную формулировку, которая не будет двусмысленной, и добавить ссылку на тему документации здесь, на meta, для получения более подробной информации. Например, так?

Отображать полное имя участников на профилях, карточках пользователей и в письмах. Обратите внимание: это не функция безопасности. Администраторы и модераторы всегда могут видеть имена, а также их можно найти через .json. Узнать больше

4 лайка

Я начал работу над реализацией Restrict exposure of full name to certain groups и недавно наткнулся на эту тему, которая полностью пересекается с тем, что я пытаюсь сделать.

Мой подход заключается в том, чтобы заменить SiteSetting#enable_names на новый метод Guardian#can_see_full_names? в соответствующих контекстах. Этот новый предикат Guardian проверяет контекст пользователя на основе нового параметра сайта full_names_visible_to_groups.

Я не хочу случайно наступить кому-то на пятки (или дублировать чью-то работу) — есть ли какие-либо обновления по статусу/планированию пунктов (1)/(2)/(3) и т. д. выше, и есть ли какая-либо неопубликованная (т. е. не находящаяся в репозитории main) работа/код, о которой мне следует знать?

Пункты (1) и (2) есть в нашем списке, но они ещё не получили приоритет и не были взяты в работу. Пункт (3) кажется хорошей идеей, но мы пока тоже не внесли это изменение.

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

У меня к вам вопрос по продукту: почему вы хотите предоставить доступ к полным именам некоторым группам, но не другим? Можете подробнее объяснить ваш сценарий использования?