resource if none was specified.
As it's still possible to start E2E when the only E2E-capable resource
goes offline, this means that caps is definitely broken.
(Yes, I verified it with a print contact.resource - it IS checked for
the right contact!)
On Windows, it's even worse: When something throws a TB, the user won't
notice before Gajim is terminated (a dialog will show then that
gajim.exe.log was created, nothing more!)
* partly rewrote join_room because it was hard to read
* Correctly handle invites from anonymous rooms. Fixes#4057
* Use HIG dialog for invitation requests
* Fix bug where minimized groupchats where hidden after a reconnect
* Removed some duplicated code
* Don't traceback when another resource of us is moving contacts to new/different groups.
* Always refilter all involved groups.
* It is now possible to not update contacts severside when using add/remove_from_groups
-Use a method to get_shown_groups (possibly more work to do (special group attribute))
-Show contact only if contact.ask, not according to modified xep 0162 logic. (I don't get neither the xep
meaning, neither this modified logic, can you explain steve-e ?)
-Remove contact before we modify it req_sub(). Else we can't remove it because iter is not found.
-When removing a contact and we let him in see us (observer), manually set show to offline, so he is not set as
visible.
-Remove observer from observer group if we asked him auth (I mean before he answer). Xep 0162 say he is not an
observer then. Fix contact staying in observer group when we get auth later.
-Renaming groups seems fixed (it's an accident :p )
More work on group to follow
* don't traceback when selfcontact is disconnecting
* make more use of "remove contact after last event removed" mechanism
* correctly redraw bigbrothers after status change
* handle situation where we receive a message, go offline without reading it and reconnect after another resource has moved the sending contact to another group.
know bugs: newly added transports added to "not in roster group"
-When creating self-contact contact instance, store it with group 'self_contact', so it never goes in General
-Make general group not be seen visible because of self contact even if self.regroup
-Remove the self contact instance itself too when WE deconnect or when IT deconnect, so we will
not see it as offline if refilling roster (regroup account for example)