* 'pending' state is denoted by subscription='none', ask='subscribe'
* 'requesting' state is denoted by subscription='from', ask='subscribe'
Reference: http://xmpp.org/rfcs/rfc3921.html#int
I'm not yet 100% sure with regards to the 'requesting' state, I can't find
anything about it in the above mentioned reference, but apparantly that's what
prosody's roster response looks like (e.g. <item jid='XYZ' ask='subscribe'
subscription='from'/> ).
With ejabberd I haven't yet received such a roster response and contact
requests are always handled via presence stanzas.
updates #81
Use id 'conversejs' instead of 'chatpanel'.
The controlbox toggle is now generated via a backbone view, you don't need to
manually include it in your markup.
When using show_only_online_users, roster item DOM elements are removed from
the DOM if their status changed from 'online' to something else.
When their status changed to 'online' again, they were re-added.
Their views (RosterItemView) instances however didn't listen to events anymore.
Calling delegateEvents on the view after calling $.remove() fixed this.
Users without roster contacts didn't have XMPPStatus.initStatus called and
therefore had a default status of offline.
Fixed this by setting the status to online from the start. The fetch command
will get the true status from localStorage (if available).
Made sure that the rest of converse's onConnected code is called in the
callback from fetch (so that we know the user's status is correct).
Updated and fixed tests.
As a result we now implement more status codes from the spec.
Specifically the codes related to forced removal form the room
Also fixed a bug related to wrong authentication when logging in.
- Removed the $(document).ready handler. Instead, converse.initialize must be
called manually together with settings data.
- As a result the Plone specific event listeners are now also gone.
- Update tests and index.html to deal wit these changes