Quantcast
Channel: Ignite Realtime : Discussion List - All Communities
Viewing all articles
Browse latest Browse all 10742

Monitoring plugin: getConversationKey() is case sensitive

$
0
0

Hi,

 

In the monitoring plugin, the getConversationKey() method returns a key based on the bare JID of two users. However, the same JID can have different capitalization, depending on whether it's the first or second JID, I noticed. A possible cause I can think of is that I have a certain capitalization of a contact in my roster and the server of my contact sends my Openfire server a different capitalization than in my roster.

 

However it may be, I propose that the JID is first toLowerCase()'d:

ConversationManager.java-    String getConversationKey(JID jid1, JID jid2) {

ConversationManager.java-        StringBuilder builder = new StringBuilder();

ConversationManager.java-        if (jid1.compareTo(jid2) < 0) {

ConversationManager.java:            builder.append(jid1.toBareJID().toLowerCase()).append("_").append(jid2.toBareJI D().toLowerCase());

ConversationManager.java-        }

ConversationManager.java-        else {

ConversationManager.java:            builder.append(jid2.toBareJID().toLowerCase()).append("_").append(jid1.toBareJI D().toLowerCase());

ConversationManager.java-        }

ConversationManager.java-        return builder.toString();

ConversationManager.java-    }

 

Of course tracking the origin of the different capitalization is an option as well.

 

This issue causes that a conversation between me and that contact is split up into two conversations: one with my messages and one with his.

 

Cheers,

 

Freark


Viewing all articles
Browse latest Browse all 10742

Trending Articles