[Pidgin] #16524: XMPP group chat history is duplicated

Pidgin trac at pidgin.im
Sun Jan 4 06:48:29 EST 2015


#16524: XMPP group chat history is duplicated
---------------------+--------------------------
 Reporter:  ralfj    |      Owner:  EionRobb
     Type:  defect   |     Status:  new
Milestone:           |  Component:  unclassified
  Version:  2.10.11  |   Keywords:
---------------------+--------------------------
 Each time I join a group chat (after booting, coming back from suspend,
 regaining WiFi connectivity, ...), Pidgin duplicates the last few lines of
 history of all group chats I joined. If there's a message containing my
 nick, it even shows a notification due to the highlight.

 Steps to reproduce:
 * Join some group chat and type a message or two
 * disconnect
 * reconnect

 Actual behavior:
 The last few messages are duplicated, resulting in the overall history
 being a total mess (after this is repeated a few times).

 Expected behavior:
 Only new messages should be added, no existing ones duplicated.

 Further information:
 With Gajim on the same servers and chats, things are working fine - so it
 seems to me that the problem is on the client-side, not the server-side.

 It seems this problem was fixed in Adium four years ago:
 <https://trac.adium.im/ticket/14219>. Also see
 <https://trac.adium.im/ticket/16252>. I checked the XMPP console, but it
 seems that the "presence" message sent when joining a group chat, lacks
 the "history" tag indicating to the server what messages to send.

 This is what Gajim sends when joining the group chat:
 {{{
 <presence xmlns="jabber:client" to="XXX" xml:lang="en"
 id="gajim_muc_90_3dcffd">
 <x xmlns="vcard-temp:x:update">
 <photo>da39a3ee5e6b4b0d3255bfef95601890afd80709</photo>
 </x>
 <c xmlns="http://jabber.org/protocol/caps" node="http://gajim.org"
 ver="OHkcneXc9eqyD5VIJDibu4fR0QY=" hash="sha-1" />
 <x xmlns="http://jabber.org/protocol/muc">
 <history maxstanzas="20" since="2015-01-03T11:13:28Z" />
 </x>
 </presence>
 }}}

 And this is what Pidgin sends:
 {{{
 <presence to='XXX'>
         <show>dnd</show>
         <c xmlns='http://jabber.org/protocol/caps'
 node='http://pidgin.im/' hash='sha-1' ver='MBEjTtnkpI3a77SVLRwpSTU2KpA='
 ext='voice-v1 camera-v1 video-v1'/>
         <x xmlns='http://jabber.org/protocol/muc'/>
 </presence>
 }}}
 Note the missing "history" tag below the "x".

--
Ticket URL: <https://developer.pidgin.im/ticket/16524>
Pidgin <https://pidgin.im>
Pidgin


More information about the Tracker mailing list