когда я выбираю группу и прокручиваю колёсико мыши для загрузки большего количества пользователей, загружаются все пользователи сразу, а не только участники выбранной группы.
И просьба: можно ли добавить в этот компонент два параметра для
выбора временного диапазона по умолчанию
выбора типа сортировки по умолчанию и порядка сортировки
Я хотел бы отображать пользователей, которые были самыми активными читателями за последний год, в верхней части списка, установив временной диапазон по умолчанию в «Год» и сортировку по убыванию по параметру «Прочитано».
Привет, @david! Этот компонент темы продолжает приносить пользу нашему Discourse, но недавно известная ошибка/особенность вызвала у нас серьёзную путаницу и неудобства.
Известная ошибка/особенность: Авторизованный пользователь всегда возвращается в результатах, даже если он не соответствует условию фильтра.
В приведённом ниже случае мой пользователь не входит в группу ruby, но я всё равно отображаюсь.
Что можно сделать в рамках изменения темы, чтобы пользователь, просматривающий каталог, не видел себя в результатах, где он не должен появляться?
Огромное спасибо за то, что разбираетесь, как мы можем помочь изменить это поведение. Мы используем хостинг на базе Discourse.
Это связано с основным поведением «каталога пользователей» — вы можете увидеть это, открыв /u здесь на Meta и попробовав отфильтровать по имени пользователя. Текущий пользователь всегда будет отображаться в списке, независимо от выбранного фильтра. Например:
Но вы правы: при фильтрации по группам это становится очень запутанным. Если кто-то намеренно применяет такой фильтр, скорее всего, он не хочет видеть себя в списке (если только он не соответствует фильтру).
Я объединил изменения от @david… ваши сайты получат их в течение следующей недели или около того.
Единственный открытый вопрос — решение о том, как вести себя с опцией «всегда показывать мне», если я захожу в каталог и не применяю никаких фильтров.
Вам всё ещё интересна функция «никогда не показывать себя первым при посещении страницы /u (даже без фильтра)»? Мы могли бы как-то обойти это в компоненте.
Понятно, что логично всегда prominently показывать профиль самого пользователя на странице по умолчанию /u, которая представляет собой своего рода лидерборд, основанный на статистике. Так пользователю легче сравнивать себя с другими участниками на Discourse.
Однако для наших целей, связанных с каталогом карточек пользователей, страница предназначена не для сравнения, а для поиска. Пользователям не нужно искать свой собственный профиль, поэтому заполнение одного из верхних слотов их личной информацией не полезно и не является оптимальным использованием места. Если они всё же захотят найти свой профиль, мы научили их переходить на /my/summary или нажимать на своё фото.
Я не могу говорить обо всех остальных случаях использования на других платформах Discourse, но для наших нужд мы определённо предпочли бы возможность избежать показа пользователям их собственного профиля (с фильтром или без него).
Я не могу говорить за других и не слышал особых жалоб на каталог пользователей, но лично я тоже не использую его как таблицу лидеров и предпочитаю его в основном для поиска.
Может быть, стоит добавить переключатель, чтобы его можно было скрыть?
Возможно, нужно обратиться к @codinghorror, чтобы уточнить, хочет ли он включить это в базовые настройки сайта или это должно быть частью темы. Эта проблема возникала 2–3 раза за последние годы.
Как минимум, мы можем изменить ядро таким образом, чтобы компонент темы мог это исправить.
Я не уверен, что «сетка карточек» — это что-то специфичное для конкретного сайта. Думаю, имеет смысл сделать это настройкой сайта? У меня нет сильного мнения по этому поводу, но мне кажется, что в качестве значения по умолчанию это не совсем логично.
Вот PR, который добавляет в компонент темы настройку «скрыть текущего пользователя». Если она включена, текущий пользователь всегда будет скрыт от просмотра
А как насчет случая, когда вы действительно хотите увидеть текущего пользователя? Например, вы искали себя… вы находитесь на вершине таблицы лидеров и так далее?
Вероятно, для @alxpck этого достаточно, но я просто размышляю вслух.
Это безоговорочно скрывает текущего пользователя, и это настройка темы, отключённая по умолчанию. Считаете ли вы это приемлемым для макета карточки пользователя? Но для таблицы лидеров это точно не подойдёт.
Мы бы предпочли более детальную настройку, которую упомянул @sam (случаи, когда вы действительно хотите видеть текущего пользователя), но именно проблема с исключением людей из поиска, если они не соответствуют критериям фильтра, привела нас сюда — поэтому я очень благодарен за возможность в настройках темы скрывать текущего пользователя.
обновление: Происходит что-то странное. Я видел это в Cognito в Chrome, но при входе в систему через Safari дубликаты не отображаются. Это будет сложно отследить…
Привет, Крейг, спасибо за отчет. Похоже, проблема в ядре Discourse — она возникает даже при отключенном компоненте карточек пользователей.
Суть проблемы в том, что у всех ваших пользователей сейчас значения метрик равны ‘0’, а наша сортировка была некорректной. Я открыл PR для исправления этой проблемы и разверну его на вашем сайте после слияния. Технические детали можно найти в PR, если вам интересно:
Это исправлено, и я развернул основное изменение на вашем сайте @craigconstantine. Дайте знать, если вы всё ещё сталкиваетесь с проблемами.
Это исправлено, извините за долгое ожидание! Обновите компонент темы в вашей панели администратора, и всё должно корректно отображаться в светлой/тёмной теме.