Double message for each kick

Dear all,

Few days ago, I have informed on the official Openfire MUC Room.

There is a double message for each kick.

For simple users:
If the MUC Room shows JID to anyone, the first has the JID and the second without:

kicked_user (kicked_user@domain.tld/client) has been kicked (User exceeded idle time limit.)
kicked_user has been kicked (User exceeded idle time limit.)

For simple users:
If the MUC Room does not show JID to anyone (only moderator), the first and the second are:

kicked_user has been kicked (User exceeded idle time limit.)
kicked_user has been kicked (User exceeded idle time limit.)

For moderators, it is always:

kicked_user (kicked_user@domain.tld/client) has been kicked (User exceeded idle time limit.)
kicked_user (kicked_user@domain.tld/client) has been kicked (User exceeded idle time limit.)

XML Console:

<presence from="openfire@conference.domain.tld/kicked_user" type="unavailable" to="receiver@domain.tld/client" xml:lang="en">
<c xmlns="http://jabber.org/protocol/caps" node="NODE" ver="XXXX" hash="sha-1"/>
<x xmlns="http://jabber.org/protocol/muc#user">
<item affiliation="none" jid="kicked_user@domain.tld/client" role="none">
<reason>User exceeded idle time limit.</reason>
</item>
<status code="307"/>
</x>
</presence>

<presence from="openfire@conference.domain.tld/kicked_user" type="unavailable" to="receiver@domain.tld/client" xml:lang="en">
<c xmlns="http://jabber.org/protocol/caps" node="NODE" ver="XXXX" hash="sha-1"/>
<x xmlns="http://jabber.org/protocol/muc#user">
<item affiliation="none" jid="kicked_user@domain.tld/client" role="none">
<reason>User exceeded idle time limit.</reason>
</item>
<status code="307"/>
</x>
</presence>

I’ve seen the same in Converse. Idle users appear to be kicked twice simultaneously, perhaps due to 2 cluster nodes on Ignite?

This issue is part of what is being tracked in [OF-2381] MUC idle user handling - Ignite Realtime Jira