Dynamically refresh members of an MUC

Background:

XMPP clients traditionally displayed only the current online users in a MUC. Now that mobile and web clients with intermittent connections are so common (prevalent in fact) today it matters very little whether someone is currently online in the room.

XEP-0045 has the following notification: https://xmpp.org/extensions/xep-0045.html#example-196

It allows the server to notify occupants of the room about an affiliation change of a user who is not in the room. In my investigation, I found that Openfire is tracking shared group join and leave events in MUCs. It however does not send this notification when a member joins or leaves a shared group.

Converse.js was one of the first clients to embrace the idea of tracking offline participants in a MUC (i.e. from the member list). However this is pioneer territory. Most XMPP clients have a way to request and view the member list, but few/none permanently track it “live”.

I am currently doing some paid work for a customer who wants this feature implemented in Converse. My customer is using Prosody and I can confirm that Prosody does send notifications when the MUC member list is modified. I would like this feature to be available from Openfire as well.

This feature request can now be tracked via this openfire issue