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.

Note that this plugin (at least on our forum) gives the following message. When we turn off the plugin it goes away. Does anyone else have this issue? We have a more than sufficient server to handle the number of active users. Using Lightsail 8 GB RAM, 2 vCPUs, 160 GB SSD Ubuntu

This plugin is really nice, especially with enabled chat. However, I was wondering if a feature could be added to integrate with the personal user settings to hide one’s own personal status, similar to other chat applications.

1 Like

@bksubhuti Is this what you mean?

I always found this option to be overkill. Going “invisible” is a pretty standard feature when it comes to online indicators and shouldn’t require completely disabling your profile. This is one of the reasons I have not turned in this plugin for non-admin users

1 Like

I didn’t see that property, but a quick google showed me it is in the interface.
I might make a topic suggesting to discourse devs to actually be put hiding of profile in the profile heading. It seems more logical there. Interface is more related to the layout and settings.

Yes it works as you said.

I really like your plugin and I appreciate your work and also quick response. We are a small discourse with 100+ users and rarely up to 4 logged in, but it is fun to have that along with chat.

1 Like