[Pidgin] #4213: Pidgin doesn't synchronize blist.xml completely after moving buddy on AIM protocol
Pidgin
trac at pidgin.im
Sun Dec 2 16:00:09 EST 2007
#4213: Pidgin doesn't synchronize blist.xml completely after moving buddy on AIM
protocol
-----------------------+----------------------------------------------------
Reporter: varchar255 | Owner: MarkDoliner
Type: defect | Status: new
Priority: minor | Component: AIM
Version: 2.2.2 | Keywords:
Pending: 0 |
-----------------------+----------------------------------------------------
There are a lot of tickets on moving buddies, but I searched and couldn't
find one with this problem. In particular it is not a dupe of
http://developer.pidgin.im/ticket/2921, although they sound similar.
When moving buddies on the AIM protocol, Pidgin correctly updates its
local blist.xml and the buddy is moved properly server-side. However, if
you log in on a different machine with an old blist.xml, Pidgin checks the
server list and adds the new buddy, but ''fails to remove the old one''
from the local list. The end result is the old buddy remains on the list
in the original group and is viewable in the buddy list, but doesn't exist
on the server. This can cause odd problems such as if you move the buddy
from the new group back to that original group, it gets deleted
(presumably because Pidgin thinks the buddy already exists in the original
group, so it sends a delete signal but not an add signal?)
Steps to reproduce (using a single computer):[[BR]]
1) Start with buddy in GroupA on AIM protocol.[[BR]]
2) Make a copy of blist.xml[[BR]]
3) Move buddy to GroupB.[[BR]]
4) Exit Pidgin.[[BR]]
5) Delete blist.xml and replace it with the copy made in step 2.[[BR]]
6) Run Pidgin.[[BR]]
Observed behavior: Buddy now exists in GroupA and GroupB.[[BR]]
Expected behavior: Buddy should be in GroupB only.[[BR]]
Fix: When checking the server list, Pidgin should recognize that the buddy
does not exist in GroupA and remove it from the local list (being sure NOT
to remove the GroupB buddy as well).
The reason for making a copy of blist.xml is to simulate the behavior when
using two machines, where one blist.xml would be updated and another would
not. While real users are not likely to follow those steps, I imagine
running Pidgin on multiple computers or dual-booting is more common and
this bug will appear in those cases.
I first saw this on Pidgin 2.2.2, running on Windows XP and Ubuntu Gutsy.
Haven't checked if this happens with other protocols.
--
Ticket URL: <http://developer.pidgin.im/ticket/4213>
Pidgin <http://pidgin.im>
Pidgin
More information about the Tracker
mailing list