Bug #3144
Invitation to MultiUserChat (GroupChat) always accepted blindly as standard chat
Status: | New | Start date: | 03/27/2014 | |
---|---|---|---|---|
Priority: | Normal | Due 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.