Discourse Who's Online

:discourse2: Summary Discourse Who’s Online displays a list of users currently active on the site
:hammer_and_wrench: Repository Link https://github.com/discourse/discourse-whos-online
:open_book: Install Guide How to install plugins in Discourse


:information_source: Think carefully before installing this plugin. Discourse is designed for asynchronous discussion, and a list of online users can be harmful for some communities

It can also optionally display a user’s online status on their avatar. Either with a “ring”, “glow”, or with a “flair” icon in the top left.
45 39 10

The plugin uses the MessageBus to keep up-to-date, so user status is reflected in real-time. Users which have enabled the “hide profile and presence” setting will not be displayed. You can customize a number of things using the available site settings and language strings:


These are available in the “plugins” section of the admin settings panel.

  • whos_online_active_timeago: maximum “last seen” for which users are considered online (minutes)
  • whos_online_collapse_threshold: number of users before the avatars overlap each other (see gif above). Set very high to disable this feature
  • whos_online_maximum_display: the maximum number of avatars to display. The numeric counter will still count higher than this. The choice of who gets displayed is currently inconsistent
  • whos_online minimum_display: the minimum number of avatars to display. Below this, a “no users online” message is displayed
  • whos_online_hide_below_minimum_display: if enabled, the widget will be entirely hidden when the number of users is less than minimum_display
  • whos_online_display_public: should the plugin be displayed to people who aren’t logged in? Defaults to true.
  • whos_online_display_min_trust_level: the minimum trust level that this plugin is displayed to. Defaults to 0
  • whos_online_avatar_indicator: choose how to display online status on user avatars. Defaults to “ring”
  • whos_online_avatar_indicator_topic_lists: display avatar indicators in mobile topic lists, and the “Categories & Latest” view. Defaults to off.
  • whos_online_count_only: when enabled, only the count will be displayed. Online user identities will not be revealed

:speech_balloon: Frontend Language Strings

These are available in the admin panel under CustomizeText Content (search for whos_online). These include:

  • js.whos_online.no_users | “No users currently online”:The message displayed when the number of users < whos online minimum display setting.
  • js.whos_online.title | “Online ({{count}})”: The text displayed before the list of avatars. {{count}} is the number of users online.
  • js.whos_online.tooltip | “Users seen in the last 5 minutes”: the text displayed on mouseover of the text.

A post was split to a new topic: No online status in Topic List

Is there a way to have it like a traditional forum where all the usernames are listed separated by comma instead of having their avatar?


This is a great plugin. I went for the middle ground of showing the number of users online but not their identities.

There are some customisable text strings not mentioned above. Edit: I was able to edit the wiki post above to add “These include:” before the list.

For the “x user(s) online” I wondered about editing this on my forum to show that it doesn’t include anonymous readers. What would be a good form of words?

  • x logged-in users online
  • x registered users online
  • x members online
  • something else

Maybe “members”? But I think that has a special meaning already (TL2?)

Maybe I’ll just leave it :slight_smile:

1 Like

I would use x logged-in users online or little more targeted than users, but that really depends — what type forum is (general vs. support vs. hobby), how official of more friendly environment is, how is culturel background (in the States things work differently than in Northern Europe) etc.

I would like to see more… creative approach than generic ones :wink:


Maybe (for example) 20 users logged in and No users logged in?

I’ve changed the js.whos_online.no_users and js.whos_online.count_only.other but the changes haven’t taken effect. Is there anything else I need to do?