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/discourse/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 CustomizeText 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.


Hi, so this plugin made my forum actually usable. It was a tiny change but now people are actually using the chat and having real convos on the boards. This should seriously be added as a default option to Discourse. Thank you!


I hate to be annoying, but any update on this? I’m talking to the owners of a discourse forum I am active on about adding this and their requirement is that the plugin must be removed from the experimental phase before it is added.

Would you consider the plugin experimental for forums with <40 users per day? The forum I’m on has fairly low load.


We like this plugin, but on just updating to the latest discourse version I got this error which broke the main discourse pages (although not the admin page)

Unhandled Promise Rejection: Error: Could not find module `ember` imported from `discourse/plugins/discourse-whos-online/discourse/components/whos-online

This was in latest Safari on a Mac, using 2.8.0.beta6
Disabling the whos-online plugin and rebuilding everything solves the error. Would love to be able to reenable soon though.