Showing "friends" which are not (and never have been) friends
Original report by Anonymous.
Tons of Hangouts "friends" are showing up in my list that I do not even know. Removing them removes them temporarily, but they reappear the next time I restart Pidgin. The list includes at least 30 people I don't know and have never spoken to or emailed. I have no idea who they are or how they ended up in my contact list. They do not appear on Hangouts on the web. They only appear on Pidgin.
Original comment by Eion Robb (Bitbucket: EionRobb, GitHub: EionRobb).
When we download the buddy list, we download a list of all contacts from contacts.google.com as well as any currently open conversations (to be able to continue conversations that you start on your phone with buddies that might not be in your contact list). Unfortunately, when we download a list of current conversations, if there are any group chats then anyone in those group chats will also display in your buddy list, including group SMS/MMS - the Hangouts servers don't tell us which people in the group chats should be part of our buddy list, and treats them the same.
The best option is to move those people to a new group and collapse the group within the Pidgin UI
I would counter that the best option would be to leave the group chat, so the conversation and contacts can actually be removed from the contact list. Unfortunately attempting to leave the group chat from Pidgin fails with g_log: hangouts_chat_leave_by_conv_id: assertion 'g_hash_table_contains(ha->group_chats, conv_id)' failed
In my case the chats are all SMS group chats and contacts the conacts are the participants. They all originated during a time when I was using the Android Hangouts app for Google Voice SMS. The chats and contacts are nowhere to be found in Hangouts on the web. I deleted them all through the Gmail interface, under Conversations, but they still keep returning to Hangouts in Pidgin. My best guess is that these chats still exist in Hangouts for some reason, but aren't exposed through the Google interface, effectively leaving them permanently orphaned with no way to remove them.
For now I use your workaround, but my preference is for a means to truly remove them.