Mark Clowes

Index - Force Pidgin to always use server roster


Consider a setup where Pidgin connects to an XMPP (Jabber) server that uses a shared roster (e.g. internal business messaging). If a contact is added to the server shared roster, Pidgin will add it locally. If a contact is removed from the server shared roster Pidgin will not remove it from the local roster. This seems to be variously described as a bug or a feature depending on viewpoint.

There is a simple way to force Pidgin to always update from the server. Find the .purple folder (in %APPDATA% on Windows) and replace blist.xml with an empty roster:

<?xml version='1.0' encoding='UTF-8' ?>
<purple version='1.0'>

Make the file read only. Pidgin will not be able to write the roster locally and will fetch the full current roster from the server each launch. It does not complain about this.