Pidgin has numerous options for the Google Talk contact (you can see them when you right-click on the contact):

  • Cancel Presence Notification
  • Unsubscribe
  • Block
  • Remove

I'm wondering which of these options are local, which of these has an effect on the server's state, and what's the difference?


In traditional XMPP/Jabber, there are several "components" of adding a contact, partly influenced by the fact that it's designed to be a federated network (like email).

  1. You can send any user a message by entering their ID by hand.

  2. You can simply have someone in your buddy list, but without any additional features, just to bookmark the ID. ("Remove" deletes the bookmark, cancels the incoming presence subscription, and revokes the outgoing presence access, in one step.)

  3. You can allow someone else to see your presence notifications – they can know whether you're online. ("Cancel presence notifications" revokes this.)

  4. You can be subscribed to someone else's presence notifications – see when they're online. ("Unsubscribe" turns this off.)

All three options are server-side. In most chat apps, adding someone as a "contact" consists of 2, 3, and 4 together. The same applies to Google Talk, I believe – if you have someone in your contact list, that automatically lets them see when you're online, and some of these menu items won't work at all.

(Of course, in most XMPP clients, the steps are simplified into one. The menu items are there just in case someone needed more precise control.)

I'm not entirely sure whether "Block" in Pidgin is server-side or not. I think it's server-side if your server supports the feature, but not all do.

  • so there is no way to "hide" a contact with out forging that level of access later? – Evan Carroll Feb 2 '16 at 21:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.