The /ban command incorrectly uses nickname instead of JID
The /ban command will auto-complete its parameter from the occupant nicknames, not from the occupant JIDs.
Issuing a /ban nickname
will send the nickname, not the JID to the server:
<iq id='81791c2da1654967ac2dd2671d07e1dc' type='set' xml:lang='en' from='georg@****' to='room@chat.yax.im'>
<query xmlns='http://jabber.org/protocol/muc#admin'>
<item nick='banned_nickname' affiliation='outcast'/>
</query>
</iq>
This is VERBOTEN according to XEP-0045:
An admin or owner can ban one or more users from a room. The ban MUST be performed based on the occupant's bare JID.
A short-term solution might be to auto-complete the occupant real bare JID instead of the nickname, a long-term solution would be to replace the nickname with the respective JID.
To upload designs, you'll need to enable LFS and have admin enable hashed storage. More information