Reduce the amount of annoying popup messages for file transfers. Don't do it for Adium, which doesn't support file-links for security reasons. Make the threshold configurable.
Change all channels to be chats instead of regular buddies and implement fetching channel memberships. Remove some unneeded code scraps from old channel handling.
Keep track of loaded pictures to refresh user pictures more reliably. Create new file tgp-info to contain all code related to user information and icons. Clean up the messy code for fetching user info and user pictures and provide a streamlined function in tg-info.
Do not depend on buddy list entries when looking up the ID from the user name, by maintaining a bi-directional mapping ID <-> username. Rename functions to make them more evident as something that operatos on the lookup. Cleanup blist functions by implementating generic iterator function over account buddies.
Do not assume that a name for each ID can only be set once anymore.
Remove assertion that names always exist, return 0 instead and propagate
error handling to the calling function.
Do not update blist buddy names, but set an alias instead to prevent breaking conversations or loosing history. Instead, keep the first print name as permanent user name
and set the alias on all buddy name changes. When interacting with purple always use the original buddy name stored in the blist instead of the print name provided by libpurple.
This allows both, meaningful names in group chats and permanent identifiers in the buddy list, while still propagating names changes to the interface.
Use print names instead of ids as usernames, to fix problems with "useless" user ids showing up for unknown users and in group chats. Remove workarounds like "Telegram Foreign" needed to temporarily store user names for alias resolution.
So far, a sticker of size 1028x1028 would have been resized to 128x128,
even though the maximum was set to 256x256.
This fix introduces a different way of resizing, which means that any dimension
of length >256 will result =256.
Also, I factored out the maximum size, so maybe we can make this an option in the future.
Add users to temporary group "Telegram Foreign", to assure that the user
alias is always known to Pidgin. Don't store this group permanently but
drop it when closing.