In the previous commit, the mock connection object was refactored to use a real
Strophe.Connection object.
This caused a test in spec/controlbox.js to fail (due to a method that was now
no longer mocked).
Added a quick workaround (via monkeypatch) for now.
onChatRoomPresence and showStatusMessages have been refactored to give more
detailed information and to also show the reasons given to actions taken by
moderators.
* Filter by both fullname and jid when searching for users to invite.
* Combine the confirm and prompt popups into a single confirm popup.
* Bugfix in groups filter. Make sure to show group that were previously filtered out.
The RosterView view is now an overview of RosterGroup objects.
RosterGroup objects each have their own collection of contacts which fall under that group.
Additionally, the RosterView has a collection of all contacts.
The comparator of RosterContacts is now used to correctly position roster
contacts and we therefore no longer need to explicitly sort them afterwards.
updates #83
updates #151
This is because we can no longer assume a one to one mapping between roster
contacts and their views. Roster contacts can belong to more than one group,
each group needs to show the contact, which means we need a view for each group
the contact belongs to.
updates #83
In order to make group values non-distinct, (i.e. buddies can be in multiple
groups), we can't assume there's one view per roster item.
This means we cannot manage the rosterview as an overview (since it makes this
assumption).
* Differentiate between adding new roster items and rendering existing ones.
* Also, only sort pending and requesting contacts once they've all been added
(similar to what was already being done with existing contacts)