This change is with an eye on supporting reserved nicknames, in which case the
user who has a reserved nickname won't have to choose a nick upon joining a
room.
This change refactors out the plugin code from converse-core into
src/converse-puggable.js
Additionally, plugins now have an optional attribute `optional_dependencies`
which is an array of dependencies which are "nice-to-have" but not essential.
Work has also been done to ensure that a plugins' dependencies are first loaded
before the plugin itself.
According to the require.js documentation, if you are using "require" in HTML,
then the data-main attribute should not be used.
http://www.requirejs.org/docs/api.html#data-main
So merged main.js into converse.js, which appears to solve the problem.
Strophe.ping.js was still in the no-dependencies build
Also clean up wrapper-end.js a bit as well as the grouping of dependencies in
non_amd.html
Remove locales from utils.js and include it in converse.js so that the locales
can more easily be removed from the build.
First component to remove is MUC which was moved to src/converse-muc.js
The components are written as plugins and use converse.js's plugin machinery.
Update the plugin docs somewhat with new insites found while working on the muc
plugin.
When converse is first initialized this.model.get('closed') is undefined, at least with some configurations. This patch initializes the attribute with !show_controlbox_by_default if it is undefined.
Update CHANGES.md
fix make check
Update CHANGES.md
We remove the offline state as a choice in the dropdown because
'offline' is not a valid XMPP state and it doesn't propagate across tabs.
Updates: #547
Updates #521 and #536.
Turn the logic around so that a presence stanza is always sent out, except in
the single case where we know for sure that the session was restored, in which
case a presence stanza is not required becaus we "never left".
Make sure to send out a presence stanza when one of the following:
1. The connection dropped and the user logged in again
2. Websockets are used (each session is established anew)
3. Keepalive isn't being used in BOSH (each session is established anew).
Compare bare JID of from attr in roster update. @teseo's fix was too specific
and tailored for a misbehaving server (servers shouldn't be sending from the
full JID in a roster push).