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.
Properly parse inline img tags in messages to support multiple inline messages in one message.
Adium: remove adium-specific code path and allow embedding markup in outgoing message
Change all channels to be chats instead of regular buddies and implement fetching channel memberships. Remove some unneeded code scraps from old channel handling.
User objects will be allocated once they send a message that needs to be displayed, until then the users will just not show up in the user list of the chat.
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.
Adium does not use <img> tags for outgoing inline pictures in messages,
but initalizes a file transfer on its own. Additionally, they also don't
escape outgoing user-entered HTML, which means we must not search for outgoing HTML
<img> tags when using Adium, otherwise we would skip actual message
content.
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.
If an image is not found its filename will be NULL, which will cause build_filename to just return path of the tmp dir. When passing a directory to set_file_contents, it will attempt to unlink it (as the file already exists), but fail doing do, since unlink doesn't work on directories. This will still cause a scary warning message about "not being able to delete the tmp directory", which is now no longer printed.