-
On a Tigase MUC Room, when we look the user information, we obtain:
What exactly do you mean "look for user information"? What stanza do you send? Are you referring to vCard support for MUC?
1/ Using "Multi User Chat 2.1.0-SNAPSHOT-b129/9e80625d / Linux-amd64-4.4.0-1105-aws, OpenJDK 64-Bit Server VM-12.0.1 AdoptOpenJDK"
This is quite old version - version 2.1.0 was released in 2012 (8 years ago! and you are using
SNAPSHOT
version so it's even older). Current stable version is tigase-muc-3.0.0 and vCard for MUC was added in current development version: tigase-muc-3.1.0 (currently SNAPSHOT) which is shipped with Tigase XMPP Server 8.1.0. -
@woj-tek Thanks for your reply, I have done screenshots:
-
Thank you for the details. It would he helpful to include information which members were affected but even without that we can assume this is caused by literal implementation of MUC specification Business Rules: IQ:
- If an occupant wants to send an IQ stanza to another user in a semi-anonymous room, the sender can direct the stanza to the recipient's occupant JID and the service SHOULD forward the stanza to the recipient's real JID. However, the MUC service MUST NOT reveal the sender's real JID to the recipient at any time, nor reveal the recipient's real JID to the sender.
So
tigase-muc
follows this and forwards vCard request to FullJID (this is the JID associated with particular occupant and majority of use-cases described in MUC specification warrant using FullJID, including Direct Messages -- and IQs are even more specific!). All the errors that you shared are returned by other servers, which most likely can't process such request. For example:<iq type="get" id="aaeea" to="tigase@muc.tigase.org/Neustradamus"> <query xmlns="jabber:iq:version"/> </iq> <iq type="error" from="tigase@muc.tigase.org/Neustradamus" id="aaf0a" to="wo*a@tigase.org/atlantis/city/psi+"> <vCard xmlns="vcard-temp"/> <error type="cancel"> <feature-not-implemented xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/> </error> </iq>
This was returned by your server and not by Tigase.
Given, that MUC avatars are based on XEP-0153: vCard-Based Avatars and XEP-0054: vcard-temp which both states that BareJID should be used:
it retrieves the sender's full vCard in accordance with the protocol flow described in XEP-0054 (note that this request is sent to the user's bare JID, not full JID)
and:
A user may view another user's vCard by sending an IQ of type "get" to the other user's bare JID.
There are two solutions:
- we could forwards vCard IQs to BareJID instead of Full JID (which feels more in line with MUC specification)
- other servers could handle vCard send to FullJID (and not only those addressed to BareJID).
However, please keep in mind, that we are working hard on MIX implementation (and MIX-MUC compatibility layer) so this issue will mostly be irrelevant in the future.
On a Tigase MUC Room, when we look the user information, we obtain:
1/ Using "Multi User Chat 2.1.0-SNAPSHOT-b129/9e80625d / Linux-amd64-4.4.0-1105-aws, OpenJDK 64-Bit Server VM-12.0.1 AdoptOpenJDK"
2/ Conversations and fork users:
3/ Gajim users:
4/ Poezio users:
5/ Psi user :