Server forced JOINs cause problems
I'm trying to use Biboumi with a bouncer (bip). There are multiple clients connected to the bouncer, so I'm already in a number of channels. When an IRC client connects, the bouncer forces the client to join the rooms I'm in.
However, this confuses Biboumi. When Biboumi connects, it acts as if the client initiated the join: it sends a presence with 110 status over XMPP, it starts forwarding messages. If the client's initial connection was to a different room (or to the virtual channel) then those stanzas get ignored by the client. Attempting to join that room from that client fails, as Biboumi thinks the client has already joined.
"Here":https://gist.githubusercontent.com/xnyhps/ec528d724e65832f7918/raw/64c1c9c75dd6d462d56ef257a1150e7c9d78e020/gistfile1.txt is a slightly anonimized debug log.
Of course, XEP-0045 does not support server-enforced room joins, so a good solution is hard.
I would prefer if at least Biboumi didn't send the presence and route messages for rooms a client isn't in and would allow a client to join those rooms. What would be a nice addition is if the client got notified about the room that they got forced into (for example, by "a groupchat invitation":https://xmpp.org/extensions/xep-0045.html#example-57). Caching the messages in a groupchat that was force-joined, but not yet joined by the client would be nice, but non essential.
(from redmine: created on 2015-08-26)