Как работает онлайн-присутствие?

Мне нравится индикатор онлайн-статуса. В нашем случае он выглядит как зелёная рамка вокруг аватара.

Screenshot 2023-03-17 at 12.26.56

Особенно полезно видеть его в каналах чата.

Меня интересует, как он работает и когда включается и выключается. Что считается статусом «онлайн»? Есть ли ограничение по времени бездействия или отсутствия фокуса? Работает ли он с Discourse Hub и PWA, а также в настольном браузере?

Спасибо за информацию.

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

Привет, Саймон! :wave:

Я спросил нашу команду чата, и они поделились этой заметкой из библиотеки, отвечающей за присутствие пользователей:

Что означает: показывать статус «в сети», если…

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

Оба варианта являются браузерами и позволяют отслеживать активность пользователя, поэтому статус будет обновляться, когда пользователь действительно просматривает сайт (просто открытие приложения Discourse Hub, например, не считается «просмотром» сайта в браузере).

Достаточно ли этой информации, чтобы поделиться с вашим сообществом? :slight_smile:

Спасибо за объяснение — здорово, что это задокументировано и доступно для поиска!

Чем этот функционал отличается от плагина @whos-online?

Я вижу, что плагин добавляет приятный небольшой индикатор в верхней части списков тем, например:

А как насчет аватарок в не-чатовых областях? Или функционал чата тоже это делает?

Я никогда не использовал этот плагин! :laughing:

Однако, прочитав тему на Discourse Who's Online и код на https://github.com/discourse/discourse-whos-online/blob/main/assets/javascripts/discourse/components/whos-online.js, я предполагаю, что это тот же механизм, но настраиваемый через параметры (в данном случае whos_online_active_timeago).

Что касается их взаимодействия…

:crystal_ball: :face_with_monocle:

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

Я реализовал это прямо перед чатом (и до того, как понял, что в чате эта функция уже частично встроена).

Заметил, что здесь, на Meta, мое присутствие не отображается в теме:

image

но отображается в чате:

image

В моём случае

Однако на моём форуме (с активным плагином) это отображается и в темах:

       image

Таков результат за ваши деньги, я полагаю! Конфликтов между ними я не заметил.

Хм, очевидно, что наличие двух определений «кто онлайн» нежелательно.

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

Есть ли способ подделать количество пользователей онлайн? Я заметил, что есть сайт, конкурирующий с моим, который постоянно врет о количестве пользователей онлайн, чтобы заявить, что он более загружен, чем мой! Поэтому я хотел бы узнать: возможно ли всегда показывать 10 фейковых пользователей онлайн плюс реальное количество пользователей?

Конечно, это так, и цитировать легко, но… зачем? В любом случае, больше контента нет.

Звучит… действительно по-детски. Как те рекламы, которые сообщают моему соседу, у которого неожиданно иностранное имя, что он только что купил гаджет X, или как те сотни девушек, живущих по соседству, а я живу посреди nowhere, хотят более тесного общения именно со мной. Честно — кто в это верит и, что самое главное, кому это вообще интересно?

Как добавить этих фейковых онлайн-пользователей? (Изменить количество онлайн-пользователей)

Извините, но я не думаю, что это этично.

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

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

Да. Отлично, спасибо за информацию @maiki. :+1:

Но есть ли способ это сделать? Это действительно сложно?