tdlib-purple icon indicating copy to clipboard operation
tdlib-purple copied to clipboard

Lots of blank contacts on Pidgin's buddy list

Open Martinique opened this issue 5 years ago • 10 comments

See the screenshot below. I'm guessing those blanks at the top of my list are deleted accounts, which should be hidden, I suppose.

IIRC, telegram-purple had an option to automatically hide contacts that haven't been online for some time, so maybe that's why it didn't exhibit this issue.

tdlib-purple-problem

Martinique avatar Jan 16 '21 20:01 Martinique

The reason they are in the contact list is because they are either in main chat list or archived chat list on the server. That's server telling us they should be shown. It probably means there's chat history on the server.

Don't you get a bunch of "deleted account" in the official client?

ars3niy avatar Jan 16 '21 21:01 ars3niy

Indeed I found some deleted ones as I scrolled far enough, but not that many. I wonder what the rest of the blanks in Pidgin are.

Anyway, since message history can be accessed through the menus in Pidgin, there's no point showing deleted accounts on the buddy list. Or perhaps they could be displayed below active accounts.

Martinique avatar Jan 16 '21 21:01 Martinique

If you feel like checking, you can do this:

  • run pidgin -d >&tdlib.log, log in and quit
  • grep -A 7 updateNewChat tdlib.log |grep -B 3 -A 4 chatTypePrivate
  • for each one with empty title: get user id out of type = chatTypePrivate { section, then
  • grep -A 100 "updateUser " tdlib.log |grep -B 2 -A 98 "id = <userid>" |less and check what's up with them (especially type)
  • you can get chat list (main/archived) of each private chat like this: for chatid in $(grep -A 7 updateNewChat tdlib.log |grep -B 3 -A 4 chatTypePrivate |grep " id =" |grep -o '[0-9]*'); do grep -E -B 2 -A 5 "( id = $chatid| chat_id = $chatid)" tdlib.log |grep -E -A 7 "(updateNewChat {|updateChatChatList {)"; done

ars3niy avatar Jan 16 '21 22:01 ars3niy

Thanks! I'll try those.

Martinique avatar Jan 16 '21 22:01 Martinique

they could be displayed below active accounts.

That's not possible I think, they are always sorted alphabetically. I'd like to propose moving them all to a different group or archiving them (not that there is support for automatically putting archived chats into a dedicated group – but there should be).

ars3niy avatar Jan 16 '21 22:01 ars3niy

How about naming them with a string starting with a Unicode symbol that gets sorted after alphanumerics and such regular characters? Anything would be better than an empty string.

I think telegram-purple did the auto-hiding by marking long absent contacts as offline, letting Pidgin's option hide them out of the way.

Martinique avatar Jan 16 '21 22:01 Martinique

The debug run was the second time I ran Pidgin with this plugin, and now instead of blanks those accounts were named "idXXXXXXX". Not any better for the average user, but I thought that was worth mentioning.

I examined all the blank entries in the log according to your instructions, and they were all userTypeDeleted. I'm pretty sure I've never even had any interactions with that many deleted accounts, as I also examined my message logs, and only a few of them have deleted their accounts, just like the official client indicated.

Martinique avatar Jan 17 '21 02:01 Martinique

What about updateChatChatList for all those deleted accounts? Are they all chatListMain?

ars3niy avatar Jan 19 '21 21:01 ars3niy

Sorry about the wait; I got quarantined out there. I'm not familiar with the log format, so I'm not sure about data you need. Can you provide a command string?

Martinique avatar Jan 31 '21 01:01 Martinique

I'm trying to use telegram with bitlbee and I'm getting the same problem, all my contacts are named with "idXXXXXX"

guilhermecomum avatar Jan 08 '23 01:01 guilhermecomum