Bug #3144

Invitation to MultiUserChat (GroupChat) always accepted blindly as standard chat

Added by phoenix_nz almost 4 years ago. Updated almost 4 years ago.

Status:NewStart date:03/27/2014
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:-
Target version:-
Component:

Description

When using the google play version of the app the following happens on an invitation from pidgin to join into a group chat:

  • A new contact is created and added with the name of the group and presence offline
  • A new single user chat session is created without any content

The behaviour SHOULD be similar to the behaviour when someone wants to invite you:

  • A popup asking whether you want to join or not is shown
  • When the user accepts the group is joined
  • When the user declines nothing happens

The bug is caused by the following reasons:

  • For some reason the packet is parsed into the 'Message' Packet listener added at line 1179 of XmppConnection.java
  • The body is not empty (as it has the text 'blahblah wants to invite you to groupchat xxx')
  • Due to that the LOC "ChatSession session = findOrCreateSession(address);" is called
  • As explained in Bug 3118 the method "findOrCreateSession(address);" always creates a single user chat as well as a single user contact

History

#1 Updated by phoenix_nz almost 4 years ago

If we add the default MUC invitation listener (as described here: http://www.igniterealtime.org/builds/smack/docs/latest/documentation/extensions/muc.html#invite), then that listener will receive an invitation (with message) packet first.

Sadly the Message listener will still receive another packet with similar content.

#2 Updated by phoenix_nz almost 4 years ago

The message listener will in fact receive exactly the same packet (same object ID in memory) - thus we can ignore it if it has already been processed.

Also available in: Atom PDF