Commit Graph

45 Commits

Author SHA1 Message Date
JC Brand
bc8e3e1a01 Return a Backbone.View object instead of a wrapper
When returning chat boxes via the API.

We can do this now because these API methods are only available to
(whitelisted) plugins.
2017-02-14 15:10:46 +00:00
JC Brand
fe6a9ca748 Merge converse-api and converse-core
Otherwise `require('converse-core')` can be called, exposing the inner converse
object.
2017-02-14 14:35:52 +00:00
JC Brand
a30cf931b8 Split API into public and private (plugin only) parts. 2017-02-02 20:09:52 +00:00
JC Brand
83feebb229 Two plugins changes
- Remove the `plugins.remove` API method.
- Throw an error when attempting to register multiple plugins with the same name.
2017-02-02 18:54:15 +00:00
JC Brand
b7b9711296 Rename the closured converse object to _converse
to indicate that it's private and to differentiate it from the outer "global"
converse object.
2017-02-02 18:34:13 +00:00
JC Brand
4dcb855562 Split API into public and private (plugin only) parts. 2017-02-02 18:30:59 +00:00
JC Brand
081f075aa9 Add eslint with lodash checking and apply its suggestions 2017-02-01 14:02:18 +01:00
Richard Icke
343e5777d1 first attempt to replace underscore with lodash 2017-02-01 14:00:38 +01:00
JC Brand
de07b6a529 No need for two AMD-load cycles. 2016-11-30 12:18:58 +00:00
JC Brand
9bf00241de Updates #721 Restore sessions when logging in anonymously
together with keepalive.
2016-11-07 18:48:49 +01:00
JC Brand
a2f4acdcee All tests suites now updated and isolated. 2016-11-03 13:59:05 +00:00
JC Brand
50275cce64 Remove shared state between tests
Only a small subset of tests currently working with this.
2016-11-03 13:59:05 +00:00
JC Brand
6ac4f2601d Fixes #677 Chatbox does not open after close
Problem was a race condition between hide and show methods.
Solution was to not hide the chat box during the initialize method.
2016-08-12 20:38:39 +00:00
JC Brand
62c170273e Allow plugins to have optional dependencies.
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.
2016-06-10 08:26:29 +00:00
JC Brand
6c99c51c74 New API method converse.rooms.close(). 2016-06-03 08:41:13 +00:00
JC Brand
d2ee62da71 Make sure that there is a valid connection when login API is called
In the process I had to refactor some methods which required the mock
connection of tests to be changed as well.
2016-04-13 15:11:50 +00:00
JC Brand
dcd090ff31 Rip out the controlbox code and put it in src/converse-controlbox.js
Also fixed an issue w.r.t the plugin architecture. Previously infinite
recursion would happen when more than one plugin was overriding a method.

Resolved now by using a wrapper function that lazily sets the correct super
method.
2016-02-29 16:40:51 +00:00
JC Brand
da0c858fe0 Used debounce ineffectually. Fixed now.
The ChatBox.show() method was being called for every invocation, 100ms after
the fact, instead of it being called only once.

Fixed that and also changed to call it at the start.
2016-02-16 07:47:16 +00:00
JC Brand
f779b9a3c0 Fixes #535. Room doesn't get opened when mixed-case JID is used. 2016-01-15 08:49:19 +00:00
JC Brand
e835a25184 Add jshint checking and fix errors. 2015-10-25 17:55:18 +00:00
JC Brand
99c7b9cb95 Add a new emitted event: serviceDiscovered.
Gets thrown every time converse learns of a supported server service.
Useful when 3rd party code wants to use API methods that depend on the service
being discovered first.
2015-07-17 20:34:48 +02:00
JC Brand
b47069b4f6 Add, test and document an API method for setting the user's status.
fixes #367
2015-06-27 21:21:27 +02:00
JC Brand
868435173f Decouple automatic away and XEP-0352 support.
- Add new config option csi_waiting_time for CSI support.
- The auto_away and auto_xa options won't send out CSI stanzas if csi_waiting_time is 0
- Update docs and add tests for both features.
2015-06-22 00:01:31 +02:00
JC Brand
f380e11851 Initial refactoring of roster and presence subscriptions.
The goal being to be able to remove strophe.roster completely.
2015-04-06 11:10:05 +02:00
JC Brand
a2be2567d2 Allow auto_login also with a provided jid and password.
* Update the docs to mention the new ``authentication`` option.
* Update failing tests due to ``prebind`` being replaced with ``authentication``.
* Rename 'manual' value for authentication to 'login' since it's used in both manual and auto cases.
2015-04-02 13:07:59 +02:00
JC Brand
5ec7c67b50 Don't automatically show a chat box when creating it. updates #357
This caused a bug whereby a chat box would open only on chat state
notifications.

Also refactored the chats.open and chats.get methods so that they now reuse the
same map function and so that chats.get can now return any chat box and not
just already open ones.

Updated the tests to properly test this and updated the docs.
2015-04-02 02:01:53 +02:00
JC Brand
4646944327 Add some auth tests. 2015-03-31 16:06:33 +02:00
JC Brand
14c09c509e Add some consistency to how errors are thrown.
Add tests for contacts.add API method and make it a bit more compact.
Add entry in changelog.

update #354
2015-03-31 15:29:41 +02:00
JC Brand
5e1a4bd9f4 Remove tests for old deprecated API methods. 2015-02-27 21:42:40 +01:00
JC Brand
c70561b898 Some API changes:
* Let contacts.get() return all roster contacts.
* Also, add "open" method for the chats API.
* chats.get will now only return a chat box if it's already open.
2015-02-25 18:31:09 +01:00
JC Brand
04912c5c5a Merge branch 'master' into amd-strophe
Conflicts:
	docs/CHANGES.rst
2015-02-22 12:53:18 +01:00
JC Brand
b31261f6fd Expand the API to allow configuration settings to...
be set on the fly.
2015-02-11 15:08:10 +01:00
JC Brand
f283f6bce5 Fix failing tests after introducing AMD version of Strophe 2015-02-01 16:15:34 +01:00
JC Brand
6100aaf114 Refactor the API. updates #46
API methods now consist of simple accessors and mutators that are logically
grouped.
2014-11-09 13:06:09 +01:00
JC Brand
4a89d28e38 Fix tests by depending on jquery obj.
Also fixed groupchat test by getting and including correct msg id.
2014-10-15 19:16:02 +02:00
JC Brand
5b46e27c41 Add 2 new API methods. updates #46
Added openChatBox and getChatBox.
2014-10-12 10:34:33 +02:00
JC Brand
8843910d52 Add API method to retrieve buddy attributes. fixes #223 2014-09-22 15:03:57 +02:00
JC Brand
e7d563b34b Let tests pass again 2014-08-08 22:06:01 +02:00
JC Brand
c9d7e17a10 Fix test failures due to previous commit 2014-06-14 22:03:04 +02:00
JC Brand
18d6a91881 Add API method to retrieve the SID. Fixes #93 2014-02-12 12:37:39 +02:00
JC Brand
30f3114c7c Add method to get the latest RID. Updates #93 2014-02-12 12:19:12 +02:00
JC Brand
62d59ff3e4 Refactor some OTR code into a Backbone model and adapt tests. 2014-02-12 07:12:00 +02:00
JC Brand
398142c7de Add a test for the passphrase storage. Updates #111 2014-02-12 02:02:45 +02:00
JC Brand
4186bf3ca3 Throw event onRosterViewUpdated whenever the roster HTML changes. Fixes #101 2013-12-18 16:30:19 +02:00
JC Brand
c8bf0491c8 Add new spec to test converse.js's API. Fixes #48 2013-12-16 20:00:21 +02:00