Who's Online Plugin (discourse-whos-online)

Summary: discourse-whos-online displays a list of users currently active on the site

:link: GitHub: https://github.com/davidtaylorhq/discourse-whos-online
:arrow_right: Install: Follow the plugin installation guide.


: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

:information_source: This plugin is marked #experimental because it is not optimized for very large forums. If you have more than 50 concurrent users, it might be best to wait until the #experimental tag is removed.

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.

:speech_balloon: Frontend Language Strings

These are available in the admin panel under Customize–>Text Content (search for whos_online)

  • 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.




At the moment, I’d recommend staying away from this plugin if you have more than ~50 concurrent users. That said, there are reports of people who have it working with many more users, and people who report issues with fewer users.

We are hoping to rewrite some parts of this plugin in the next few weeks/months so that it scales better, and we can remove the #experimental tag.


I just observed this UI inconsistency on the user profiles with the halo effect on online users:

Without the halo effect:

With the halo effect:

I suspect a css rule wasn’t updated on the plugin…


Not sure I follow here, with the halo effect, it start of the halo aligns as without the halo does, which is okay. Do you think this should not be the case?

1 Like

As I see it, when the halo effect is activated, the right padding is smaller than when it is not, making the username get strangely close to the avatar.

1 Like