Buddy.py would try to subscribe to presence before the user had logged
in to whatsapp. A loginQueue was added, so that functions could be
deferred to login.
In the previous implementation join_room was called on all groups immediately
after the user was authenticated. When a user joined a group, join_room will be
called again. This was incorrect behaviour and confused spectrum. There was no
truncation error, thus _shortenGroupId and _lengthenGroupId have edited to be a
no-op (and should be removed in the next commit).
The correct behavoiur is to only call join_room in
whatsappbackend.py:handleRoomJoined, however the user may do this before the
groups have been loaded, in which case those requests must be added to a queue.
The bot informs the user of all the groups the user has joined and when the user
is added to a new group.
When a whatsapp buddy sends an image, video or sound to the spectrum
user, the spectrum user will receive a URL that links to the media.
FileTranfer in spectrum is not working, apparently. Thus media cannot be
sent yet.