Commit Graph

1048 Commits

Author SHA1 Message Date
JC Brand
9f5f5da7ed Created method insertIntoPage
Put the code that inserts a chat box into the page in it's own method,
so that it can be overridden from a plugin.
2015-05-03 17:43:22 +02:00
JC Brand
d6a1dee2d2 Rename the placeholder for contact adding
to make it clearer what a JID should look like.
2015-05-02 00:21:11 +02:00
JC Brand
aa3de742c0 Merge branch 'master' into roster_refactor 2015-04-25 23:06:59 +02:00
JC Brand
d6038c7c7b Allow the URL to the sounds to be configurable.
Made some modifications to the code contributed by @thierrytiti and documented
the change.

Fixes #344
2015-04-25 22:41:29 +02:00
thierrytiti
310d2b77f3 typo 2015-04-25 22:26:10 +02:00
thierrytiti
7ec44d56d5 add sounds path 2015-04-25 22:25:59 +02:00
thierrytiti
addd2c2ac3 Bug in parsing search result 2015-04-25 22:20:15 +02:00
JC Brand
96e8a285b7 Merge branch 'master' into roster_refactor 2015-04-21 17:36:13 +02:00
JC Brand
6dc355a02a Show the domain when rendering a legacy registration form.
Also updated the changelog with #377
2015-04-21 17:21:26 +02:00
JC Brand
848c13eb62 Merge branch 'master' into roster_refactor
Conflicts:
	dev.html
2015-04-21 16:51:15 +02:00
Guillermo Bonvehí
8934043d79 Submit registration form as xform or legacy
Support to send the registration form as legacy or xform, we
use the same variable form_type that was already being used when
calling render
Added submission tests
2015-04-21 11:05:03 -03:00
Florian Cargoët
8b695be4d7 Fix group visibility on page load.
Close #374
2015-04-17 17:06:16 +02:00
Florian Cargoët
63e3794ba7 Fixes #372 2015-04-17 16:24:02 +02:00
JC Brand
292d4a1bc9 Ignore messages sent to a different resource 2015-04-16 09:37:46 +02:00
JC Brand
f7a077a911 Merge branch 'master' into roster_refactor
Conflicts:
	converse.js
2015-04-15 22:08:19 +02:00
JC Brand
36d9dbdea5 Use Strophe for managing namespaces. 2015-04-15 22:06:23 +02:00
JC Brand
34e2cfc191 Merge branch 'master' into roster_refactor 2015-04-15 21:52:14 +02:00
JC Brand
1b6e67ae73 Don't call updateVCard if use_vcards is false. 2015-04-15 21:20:19 +02:00
JC Brand
3451fcf01e Only set contact status offline if there aren't any other resources available. 2015-04-13 17:02:14 +02:00
JC Brand
f399c5f681 Add more protocol tests.
* Unsubscribing
* Incoming subscription requests.

Noticed that it's not necessary to call "unauthorize" when setting
subscription="remove".
2015-04-10 16:30:04 +02:00
JC Brand
e6f5b95da7 Fix tests by allowing removeFromRoster to be spyable. 2015-04-10 13:04:00 +02:00
JC Brand
1ce328783c Also add tests for case where contact declines request.
Did a bit of renaming and fixed a bug in updateContact where a user wasn't
created when it should have been.
2015-04-10 13:01:31 +02:00
JC Brand
838ad13605 Merge branch 'master' into roster_refactor
Conflicts:
	converse.js
2015-04-10 01:30:02 +02:00
JC Brand
6ef2e50387 Merge branch 'anon_login' 2015-04-09 14:09:26 +02:00
JC Brand
2e11f99d82 Bugfix. Also make sure to remove previous from/to class 2015-04-09 10:35:12 +02:00
JC Brand
c05d17ca25 Expand the protocol tests.
* Fixed a bug in the process which prevented "to" contacts from being shown as
existing.
* Add "to" or "both" as classes on the contacts to indicate their
subscription status.
* Delete roster handlers in tearDown method to avoid them being registered
multiple times.
2015-04-08 19:51:33 +02:00
JC Brand
eb00dcd44a Bugfix. Paths to sound files should be absolute. 2015-04-08 17:22:49 +02:00
JC Brand
995c5fdb44 Make release 0.9.2 2015-04-08 13:41:31 +02:00
JC Brand
b177a6a7a0 Bugfix for incorrect roster height when allow_contact_requests=false.
Also update changelog and fix some linting errors.

Fixes #360
2015-04-08 13:12:29 +02:00
JC Brand
c7bf1713d8 Add new spec protocol for testing the XMPP protocol.
Already testing the first 3 sections of RFC-3921 section 8.2 "User subscribes to contact".
2015-04-08 10:35:14 +02:00
JC Brand
ef7605d363 More fixes after live testing of roster subscriptions.
Also, added code to acknowledge a subscription being accepted.
See https://xmpp.org/rfcs/rfc3921.html#substates-ack
2015-04-07 20:04:27 +02:00
JC Brand
96396fdc6e A few fixes after some "real world" tests. 2015-04-07 18:23:45 +02:00
JC Brand
330b1434bd Completely remove strophe.roster as a dependency. 2015-04-06 20:55:38 +02:00
JC Brand
a4475a5459 Stop using strophe.roster in unsubscribe method. 2015-04-06 13:52:58 +02:00
JC Brand
7f8da77133 See below.
Refactor out the code for sending an IQ to add a roster contact.
And then call that from acceptRequest.
2015-04-06 13:43:27 +02:00
JC Brand
5b0a88ccdb Some more refactoring so that we can remove strophe.roster.
Some changes to presenceHandler and handleIncomingSubscriptions to avoid using
strophe.roster as well as to remove duplicate code.
2015-04-06 13:41:48 +02:00
JC Brand
1ea770c79a Add the ability to reject presence subscriptions.
Still part of the refactoring of strophe.roster.
2015-04-06 12:26:08 +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
18fd854dc4 Remove unnecessary return statement and expression. 2015-04-05 17:09:14 +02:00
pzia
4df2058cd1 Adding 'rooms' API (see jcbrand/converse.js#355 ) 2015-04-05 08:22:10 +02:00
JC Brand
df0c55ed4d Merge branch 'master' into anon_login 2015-04-04 11:32:22 +02:00
Florian Cargoët
a9a4935ed9 Fix a timeout bug in chat state notifications 2015-04-03 09:47:31 +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
a2d27ee971 Merge branch 'master' into anon_login
Conflicts:
	converse.js
2015-04-02 12:23:13 +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
a902ba2d8a Merge pull request #357 from floriancargoet/fix/state-notifications-reopen-box
Fix the known bug where a state notification reopens a chat box
2015-04-02 01:46:26 +02:00
JC Brand
a68e3bdeea Merge pull request #358 from floriancargoet/fix/shared-occupants-list
Fix the ChatRoomOccupants storage id
2015-04-01 23:22:52 +02:00
Florian Cargoët
400cfa38a7 Fix the ChatRoomOccupants storage id 2015-04-01 15:20:46 +02:00
Florian Cargoët
b1272a697b Fix the known bug where a state notification reopens a chat box 2015-04-01 15:11:24 +02:00
Florian Cargoët
06c3304d0d Fix the plugin extend function 2015-04-01 14:59:13 +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
pzia
6879405e85 Throw exception if no jid or invalid jid. (#354) 2015-03-30 12:02:28 +02:00
pzia
66751540da contacts.add API to register contacts
- Basic test if the given jid contains @
- use jid as name if undefined
2015-03-29 18:12:23 +02:00
JC Brand
896b147a40 Prevent converse.connection.attach from being called twice
when using prebind and keepalive together.
2015-03-26 15:24:05 +01:00
JC Brand
b2b2b2bbc0 Enable automatic anonymous login. 2015-03-22 13:20:24 +01:00
JC Brand
4d3b4380dd Add support for anonymous login. 2015-03-22 12:14:45 +01:00
JC Brand
7cd27a71b3 Enable automatic reconnecting when `prebind and prebind_url` are
specified.

fixes #330
updates #333
2015-03-21 23:41:39 +01:00
JC Brand
8d818fd5fd updates #339.
* The JID is only required when using keepalive with prebind.
* Provide a logout API method.
2015-03-21 21:50:48 +01:00
JC Brand
1a670e1d47 Require that a "JID" be specified with keepalive. updates #339 2015-03-21 21:32:04 +01:00
pzia
a629e0cc61 Hide 'Server' Label when hiding server input 2015-03-17 11:27:43 +01:00
JC Brand
d0b8a3870b Add a test to check that notifications are properly sent in chat rooms. 2015-03-16 17:27:26 +01:00
JC Brand
90e4d6cba6 Add new configuration setting "allow_contact_removal". 2015-03-09 19:47:24 +01:00
JC Brand
9dd3440f86 Add new config option prebind_url 2015-03-05 22:24:26 +01:00
JC Brand
2e3eaa5d41 Bugfix. The stanza wasn't being passed into the handlers. 2015-03-05 20:18:25 +01:00
JC Brand
6c10d2b7b2 Remove strophe.muc.js completely. closes #307 2015-03-04 23:22:19 +01:00
JC Brand
df724788fc Two chat room bugfixes. updates #307
* Prevent "join" being called twice by having more finegrained connection
  status for a chat room.
* The directInvite method used the wrong JID.
* Rename getRoomJID to getRoomJIDAndNick to avoid confusion.
2015-03-04 23:02:47 +01:00
JC Brand
db44a297cb Remove the last calls to connection.muc. updates #307 2015-03-04 22:27:11 +01:00
JC Brand
3daf6d6c1a Refactor to no longer user muc.saveConfiguration. updates #307 2015-03-01 23:57:49 +01:00
JC Brand
c893a51ac5 Rewrite the MUC commands to not use strophe.muc. updates #307
Also added 3 new commands, /member, /revoke, /admin
2015-03-01 20:00:11 +01:00
JC Brand
acd3463abd Remove usage of muc.groupchat. updates #307 2015-03-01 19:22:34 +01:00
JC Brand
762e2bac04 Write a test for rooms listing. 2015-03-01 19:09:10 +01:00
JC Brand
c7d5b8b13f Refactor to no longer call muc.listRooms. updates #307 2015-03-01 13:32:53 +01:00
JC Brand
6c31f76406 Refactor other tests. All tests pass now again. updates #307 2015-03-01 11:58:07 +01:00
JC Brand
405351058a Rename the nick changed tests. updates #307
Test from a lower level (stanza request received by strophe) and also test the
case where the server automatically changed the nick.
2015-03-01 11:22:37 +01:00
JC Brand
551a8842ce Drop dependence on muc.leave. updates #307 2015-03-01 01:23:53 +01:00
JC Brand
4a5eb7c38a Initial work on refactoring MUC chat rooms. updates #307
In the process of removing the strophe.muc plugin completely.
Already implemented join function and handler delegation in converse.js.
2015-03-01 00:55:22 +01:00
JC Brand
bd0d7ace04 Remove old, deprecated API methods. updates #46 2015-02-27 21:19:16 +01:00
JC Brand
387bb6f3a4 Bugfix. Custom status message form does not submit/disappear. 2015-02-27 18:32:23 +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
5839e38fc0 Performance fix. updates #151
_.pluck was being called inside the form loop.
2015-02-08 20:58:37 +01:00
JC Brand
0407826057 Two websocket related changes. updates #204
* Handle case where no websocket url is specified.
* Update the documentation w.r.t. websockets
2015-02-08 20:02:53 +01:00
JC Brand
3e9994e01c Websocket support. closes #204 2015-02-07 16:54:58 +01:00
JC Brand
95bc55c1c3 Merge branch 'master' into amd-strophe 2015-02-07 14:10:32 +01:00
JC Brand
e5e8539f2b Fix the non-AMD usecase. 2015-02-03 22:39:03 +01:00
JC Brand
f283f6bce5 Fix failing tests after introducing AMD version of Strophe 2015-02-01 16:15:34 +01:00
JC Brand
8eabf93cec Fix typo 2015-01-30 15:54:59 +01:00
JC Brand
b7643eaba0 Initial work on letting converse.js use the AMD version of strophe.js 2015-01-27 15:10:58 +01:00
Guillermo Bonvehí
fe03940f53 Fix issue #305, show=online presence sent
setStatusMessage was modified to send the presence using
sendPresence method which skips show tag when type is 'online'
Added getStatus helper method
2015-01-23 11:16:16 -03:00
Guillermo Bonvehí
5cd28ff71b Strophe.log and .error now calls converse.log, this honors converse.debug flag 2015-01-22 17:38:36 -03:00
JC Brand
c646e93a9b Don't set out message carbons IQ stanza on each page load. 2015-01-17 13:24:05 +01:00
JC Brand
8478b432c3 Lazily call parseJSON on translation data.
Also, moved locales.js to ./src folder.
Add it as dependency to utils.js and remove it from the deps scripts
2015-01-16 22:33:18 +01:00
JC Brand
31cb3d4b6e Fix the non-AMD case. 2015-01-16 22:07:27 +01:00
JC Brand
607c2a81c9 Instead of GONE, set chat_state to INACTIVE when a box is closed.
Also, fixed all broken tests.
2015-01-09 10:48:36 +01:00
JC Brand
b4d53aaa94 Some refactoring of chat states work. updates #292
- Don't add a timeout for the GONE state.
- Change state to GONE when the user closes the chat box.
- Change the state to inactive when the user minimizes the chat box.
- Change the state to active when the users maximizes the chat box.
- Add more tests for chat states.
2015-01-09 09:09:49 +01:00
JC Brand
bb468ae0a3 Add better support for XEP-0085. closes #292
Converse.js will now send chat state notifications of <paused>, <inactive> and
<gone> when the user has stopped typing for 30 seconds, 2 minutes and 10 minutes
respectively.
2015-01-01 22:59:10 +01:00
JC Brand
3175bddc46 Initial work on adding support for sending <paused> and <gone> chat states. 2015-01-01 05:52:10 +01:00
JC Brand
1c3b61274c Bugfix. Don't trim the newly opened (and only current) chat. 2014-12-31 17:07:02 +01:00
JC Brand
516def29cb Styling for the minimized chats list. 2014-12-31 16:58:15 +01:00
JC Brand
96d904f38e Merge branch 'master' into skeleton 2014-12-31 11:34:34 +01:00
JC Brand
35a542da83 Bugfix. Translate method called before it was defined. 2014-12-31 11:28:52 +01:00
JC Brand
640a344ee2 Make sure placeholder is also translateable 2014-12-20 11:57:03 +01:00
JC Brand
fadbf2d159 JSHint bitching about wrapped or statements 2014-12-20 10:17:20 +01:00
JC Brand
970fed4d29 Rename button to clarify 2014-12-13 00:14:35 +01:00
JC Brand
cbfd8d8e90 Merge pull request #288 from arsh-co/master
Set immediate to true when calling _.debounce
2014-12-12 15:37:21 +01:00
Mohammad Javad Naderi
5424e301ff Set immediate to true when calling _.debounce
When clicking on restore button for a minimized chat, the page's hash will change to `#`. It may cause problems for web apps that listen to changes in page's hash.

When `immediate` argument of `debounce` function is not set, `ev` is null and ev.preventDefault() will not be called.
2014-12-11 15:22:51 +03:30
Guillermo Bonvehí
00af792899 Unified pending/requesting checking 2014-12-10 22:42:09 -03:00
Guillermo Bonvehí
2354a27832 Always show pending/requesting users in roster
Even if show_only_online_users or hide_offline_users
are set, show users that are pending or requesting
2014-12-10 21:32:59 -03:00
JC Brand
e71cad8583 Add default avatar for users. 2014-12-07 13:44:27 +01:00
JC Brand
9f94d0f4ea Nicer styling for the chat room configuration form. 2014-12-07 12:23:53 +01:00
JC Brand
3bf5eeb4a8 Bugfix. Could not render chat room configuration form. 2014-12-07 11:13:50 +01:00
JC Brand
f893e94312 rid, jid and sid weren't being set. fixes #285 2014-12-06 19:05:50 +01:00
JC Brand
20e15b5623 Sphinx changes.
* Add buildout config for Sphinx
* Add new Sphinx theme
* Remove the built html theme files
2014-12-06 18:58:58 +01:00
JC Brand
e4307f7ab8 See below
* Fix login panel rendering bug
* Make registration form i18n aware.
* Make providers link configurable.
2014-12-06 18:58:14 +01:00
JC Brand
03ec659b50 Add another test and another template. refs #117 2014-12-01 20:31:01 +01:00
JC Brand
831faf7096 Show domain name in username field of the registration form. updates #117 2014-11-26 21:26:28 +01:00
JC Brand
329746d839 Merge branch 'register' 2014-11-25 10:51:06 +01:00
JC Brand
d690704f93 Fix tests and added a workaround...
so that we can use require config in main.js also in the tests.
2014-11-25 10:50:30 +01:00
JC Brand
e246335b03 Bugfix. JIDs not shown in chatrooms. fixes #282 2014-11-25 09:55:15 +01:00
JC Brand
a4dd5a2a46 Bugfixes around connection handling.
Properly disconnect after auth fail, so that we can log in again.
Don't reset the connection when logging out (not necessary).
2014-11-24 22:40:10 +01:00
JC Brand
7125bd1d67 Render form captcha. updates #117 2014-11-24 20:35:00 +01:00
JC Brand
89fa218c59 Some css tweaks. Center the controlpanel form elements 2014-11-24 18:57:28 +01:00
JC Brand
03c92b4487 Remove toLowerCase. JID resources are case sensitive. updates #234
We should perhaps still make the node part lower case, but I'd like to double
check first.
2014-11-24 18:37:03 +01:00
JC Brand
923056925f Show hardcoded urls. Some css width tweaks. updates #117 2014-11-23 22:26:38 +01:00
JC Brand
3dbcdd6171 More work on XEP-0077. updates #117
* On the registration form, show the xmpp.net badge for XMPP provider.
* More CSS and form improvements.
* New template registration_form.html
2014-11-20 11:51:12 +01:00
JC Brand
bfab4fb803 Better error handling, some handling of legacy forms and css fixes.
updates #117
2014-11-19 21:20:36 +01:00
JC Brand
ca552f3440 Bugfix. Don't save the session if we aren't authenticated.
Also, fixed reg form cancelation.
2014-11-19 10:09:46 +01:00
JC Brand
65d4137373 Remove reliance on strophe.register plugin. updates #117 2014-11-18 11:29:12 +01:00
JC Brand
185f2c2491 More work on in band registration. updates #117
User gets automatically logged in if possible. Otherwise load login panel.
2014-11-17 19:10:19 +01:00
JC Brand
f4096ea9fb More form handling code. updates #117 2014-11-17 13:55:52 +01:00
JC Brand
91afe09007 Make default height for chat boxes 400px 2014-11-17 10:48:58 +01:00
JC Brand
2afdcfac80 Avoid having to repeat whitelisted settings. 2014-11-17 09:50:00 +01:00
JC Brand
1c5b27bae7 Add utils method for turning HTTP DOM fields to XFORM fields.
Add registration method for in band registrations. updates #117
2014-11-17 09:44:42 +01:00
JC Brand
9a84e44db4 updates #234 Cannot send/receive messages when JIDs have mixed case 2014-11-16 22:23:24 +01:00
JC Brand
e9638e70c7 Initial work on allowing in band registrations. XEP 077 2014-11-16 22:16:42 +01:00
JC Brand
3f01e94b9b Fixes #177 Setting status to 'offline' does nothing in other clients. 2014-11-15 16:09:36 +01:00
JC Brand
efa56ffb33 Fixes #232 Always get full name from model. 2014-11-15 15:44:33 +01:00
JC Brand
52c3df7cb4 Fixes #260 Sent message carbons are not displayed. 2014-11-15 15:38:15 +01:00
JC Brand
ef8082a31d Fixes #262 Contact requests not shown if page reloaded. 2014-11-15 14:42:56 +01:00
JC Brand
60eb7552a8 Bugfix. Only show a roster group if it has contacts in it. 2014-11-15 14:15:07 +01:00
JC Brand
3d6d14c47d Fixes #274 Roster filtering results change with presence changes 2014-11-15 14:03:17 +01:00
JC Brand
6b88513f1d Move render method below initialize 2014-11-15 14:01:16 +01:00
JC Brand
d007339415 Fixes #275 Custom status message doesn't reset. 2014-11-15 13:28:11 +01:00
JC Brand
fdb80e3d2c Save the MUC domain to session storage.
Fixes #237
Fixes #238
2014-11-15 13:17:40 +01:00
JC Brand
6cdd793758 Update docs due to recent pull requests. 2014-11-15 11:04:33 +01:00
JC Brand
152d4886e8 Merge pull request #278 from Deuteu/message-counter-fixes
Multiple bind
2014-11-15 10:52:26 +01:00
JC Brand
0a57bb8a4b Merge pull request #279 from gbonvehi/support-muc-config
Add more field types to MUC config
2014-11-15 10:40:25 +01:00
Guillermo Bonvehí
6ab3a7cf6b hide_offline_users option
This will hide users with offline status, show_only_users still
takes precendence if enabled.
2014-11-14 15:42:27 -03:00
Guillermo Bonvehí
69ccdc9a85 Add more field types to MUC config
Added support for fixed, jid-multi and list-multi types.
2014-11-13 18:18:32 -03:00
Deuteu
9a8d1921c7 Multiple bind
Restoring a chatbox wasnt unbinding event then the unread counter for a chatbox was multiply by the time you minized it.
2014-11-13 10:56:52 +01:00
JC Brand
572b3e8d74 Use 'extend' instead of 'override'. updates #46 2014-11-09 21:27:08 +01:00
JC Brand
25b56e3538 Rename "buddy" to "contact". Fixes #226 2014-11-09 18:07:06 +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
36db4c8b27 Merge branch 'master' into plugin-api 2014-11-08 16:59:25 +01:00
JC Brand
e1efb6042e Bugfix. Previous commit didn't take closed chat boxes into consideration 2014-11-08 16:58:42 +01:00
JC Brand
dc31057cb9 Bugfix. Don't show duplicate messages. 2014-11-08 15:53:29 +01:00
JC Brand
3ab1ad88dd Use namespace const 2014-11-08 15:34:12 +01:00
JC Brand
147e62d000 Don't increment unread msgs counter for <paused> chat state.
Also update release notes. updates #267
2014-10-30 11:48:58 +01:00
JC Brand
0f06902bf4 Merge pull request #267 from Deuteu/message-counter-fixes
Fix num_unread*2 on minimized chat
2014-10-30 11:06:26 +01:00
Guillermo Bonvehí
5620f007ea Fix locale set during initialize not being used in utils.translation 2014-10-29 13:13:54 -03:00
Deuteu
c9e031e1c6 Fix num_unread*2 on minimized chat
When chat was minimized the counter num_unread of unread message was increment when receiving a compose message so the number of unread messages was doubled.
2014-10-29 13:53:08 +01:00
JC Brand
52cabd0d23 Merge branch 'profiling' 2014-10-28 18:12:50 +01:00
JC Brand
682cc8471a Update main.js to work properly with mainConfigFile 2014-10-28 18:02:17 +01:00
JC Brand
55e32c735d Fix tests 2014-10-27 23:06:11 +01:00
JC Brand
37eefa67d0 Performance fix. Don't query for the roster on each page load.
Instead, just populate the roster from sessionStorage if available.
2014-10-27 21:53:05 +01:00
JC Brand
b2b4474439 Performance fix. Don't loop through whole roster when only one item changed. updates #151 2014-10-27 21:41:41 +01:00
JC Brand
c2063eb1a7 Keep on getting disconnected. This fixed it.
Seems like the RID gets incremented once too many (outside of upper bound of
expected window), and then server responds with item-not-found.

See: http://xmpp.org/extensions/xep-0124.html
2014-10-27 21:35:25 +01:00
JC Brand
ec00a04068 Bugfix. .roster-group elements must be found relative to 2014-10-27 21:35:06 +01:00
JC Brand
8998a057da Make sure that subscribeToRosterSuggestions is ...
called sequentially with enough time between each call.
2014-10-27 18:48:54 +01:00
JC Brand
d03a9a0192 bugfix in positionGroup.
Index must always be 0 if there aren't any group elements in the dom yet.
2014-10-26 23:13:04 +01:00
JC Brand
902e833dec Some refactoring. Add showInRoster method
which checks if a contact should appear in the roster (depends on
show_only_online_users setting)
2014-10-26 23:10:43 +01:00
JC Brand
07186bcecd Performance fix. Set display "none" on the roster element. 2014-10-26 20:20:05 +01:00
JC Brand
695c8f441d Minimize debounce time for update method to 100ms. 2014-10-26 17:10:58 +01:00
Deuteu
30ccc0437c Remove unnecessary commas for ie8 compatibility 2014-10-26 15:52:27 +01:00
JC Brand
2f968f7095 More optimizations.
Don't sort the global ContactRosters collection (we only need to sort the
individual groups).
Only add the roster to the DOM once the users have been added.
2014-10-25 12:33:24 +02:00
JC Brand
f4ff6370b9 Performance fix. Debounce the update method on the roster. 2014-10-25 09:57:05 +02:00
JC Brand
7e42783c62 Don't remove requesting users when clearing the roster cache. updates #262 2014-10-24 18:55:32 +02:00
JC Brand
0963f5c4d5 Add 'override' method for overriding converse Views and Models. 2014-10-22 22:17:21 +02:00
JC Brand
bb54874f35 Add extra check before accepting a passed in connection.
No use in using a passed in connection that's not connected.
2014-10-19 20:41:16 +02:00
JC Brand
aa2c38548c Tweak participants' toggle so that widths don't need to be hardcoded. 2014-10-19 15:09:29 +02:00
JC Brand
35928308c8 Bugfix. "ev" isn't necessarily defined. 2014-10-15 22:56:45 +02:00
JC Brand
80b8fed6cd New method createChatRoomMessage 2014-10-15 22:28:43 +02:00
JC Brand
b93d43d2cb Also store message id for received messages. updates #240 2014-10-15 19:51:30 +02:00
JC Brand
a717cc464a bugfix. msgid should be string. 2014-10-15 19:35:03 +02:00
JC Brand
a88c786991 Instead of using a hash, use milliseconds since epoch for groupchat id.
That way, if need be, we could sort messages.
2014-10-15 19:15:28 +02:00
JC Brand
55c57a346d Move translation factory to utils
So that it can be used by plugins.
2014-10-13 22:02:55 +02:00
JC Brand
970da2acf0 Keep track of groupchat messages... fixes #240
by way of msgid attribute.
2014-10-13 21:15:25 +02:00
JC Brand
24cd78a78d Call plugins after Backbone models and views have been parsed. 2014-10-12 16:24:57 +02:00
JC Brand
490f26031e Add registerPlugin API method. 2014-10-12 14:49:45 +02:00
JC Brand
60367f82f7 Bugfix. Proxy methods to ensure proper context. updates #46 2014-10-12 11:11:28 +02:00
JC Brand
48dd0cc674 Trying to organize doc chapters a bit more logically. 2014-10-12 11:03:25 +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
8493b4f423 Add space between function name and brackets
to visually differentiate between function declarations and instantiations.
2014-10-10 11:05:16 +02:00
JC Brand
eaa18cc4c2 Merge branch 'master' of github.com:jcbrand/converse.js 2014-10-10 10:52:41 +02:00
Sergey Fedoseev
6e0c173f44 fix prebind reference error 2014-10-10 02:03:23 +06:00
Sergey Fedoseev
6addfdabb0 fix event prevention on chat restore 2014-10-09 20:32:24 +06:00
JC Brand
0c83ac4524 Explicitly set jQuery as a dependency of converse.js
Also in utils.js and otr.js (this will help reach to goal of having a private
jquery which doesn't pollute the global $ var).
2014-10-06 20:23:59 +02:00
JC Brand
5bad6b02b6 Clarify how one should use prebind and keepalive together. 2014-09-30 12:27:53 +02:00
JC Brand
64847bcb96 Add new event noResumeableSession 2014-09-26 17:20:52 +02:00
JC Brand
b803267555 Bugfix. Return after attaching with prebind data. 2014-09-24 10:57:07 +02:00
JC Brand
5bc1286a64 Take <gone> chat state into consideration. 2014-09-22 16:35:36 +02:00
JC Brand
8843910d52 Add API method to retrieve buddy attributes. fixes #223 2014-09-22 15:03:57 +02:00
JC Brand
297259fdb7 Remember toggle state of control box. updates #222 2014-09-22 13:08:56 +02:00
JC Brand
e860343eb2 Bugfix. The chatroom was being joined twice, causing duplication. 2014-09-21 00:19:59 +02:00
JC Brand
dbd45397a3 Move password form for chatrooms to an external template. 2014-09-20 22:59:29 +02:00
JC Brand
0babac2b17 More fixes to properly tear down session after logout.
Fixed problem with Strophe handlers zombies.
Remove zombie handlers for minimized chats (caused duplicate minimized chats).
2014-09-20 15:08:53 +02:00
JC Brand
6f4ea8a5aa More session fixes.
* Make sure to rebroadcast presence when logging in after having just
logged out.
* Remove roster contacts when logging out, to avoid artifacts when logging in
with a different account.
2014-09-18 19:24:32 +02:00
JC Brand
26f6ec98c6 Merge branch 'session-issues' 2014-09-18 18:51:55 +02:00
JC Brand
041d5aca51 Fix issues with rendering login form after session crash. 2014-09-18 18:51:23 +02:00
JC Brand
108a57c53d keepalive should not be true by default.
Also, scrollDown after toggling occupants sidebar.
2014-09-18 09:33:51 +02:00
JC Brand
ce06e7d2d6 Initial attempt to sort out session issues. 2014-09-18 09:29:31 +02:00
JC Brand
9b0f701893 Need to configure _.templateSettings in converse.js
The tpl configuration in main.js is only for externally loaded templates, if we
use inline templates (as is the case with the room invite feature), we need to
configure _.templateSettings as well.
2014-09-17 23:05:17 +02:00
JC Brand
f26e709a4b Let prebinding take precedence over keepalive. 2014-09-17 22:07:58 +02:00
JC Brand
47e9e963fd Remember state of chat room sidebar. 2014-09-17 22:04:47 +02:00
JC Brand
ba6b72011c Show groupchat messages where user is mentioned in bold. 2014-09-17 21:40:19 +02:00
JC Brand
eefce8286e Fix tests but killing zombies. 2014-09-17 10:35:24 +02:00
JC Brand
9f251f729b Fix. Make sure that a user appears as pending once you've added them. 2014-09-15 23:28:07 +02:00
JC Brand
fdff512225 Bugfix. Make sure we fall back to jid if no fullname is set. 2014-09-15 23:09:04 +02:00
JC Brand
443ee80b6e Recreate the roster each time initRoster is called.
Otherwise we will reuse old/stale objects for which we receive no add events
(resulting in an empty roster).
2014-09-15 23:00:52 +02:00
JC Brand
60070b52d2 Some work on fixing the broken subscription flow.
Looks like the subsription flow was broken since the roster groups refactor.
Requesting and pending contacts weren't being properly added to (and removed
from) roster groups.

Requesting contacts are now properly added and remove. Next up, handling
outgoing requets (i.e. pending contacts).
2014-09-15 22:48:04 +02:00
JC Brand
597e3693c7 Call initRoster only after controlbox is connected. 2014-09-15 21:33:44 +02:00
JC Brand
3a30f30fb7 Bugfix concerning trimmed chats.
Chats were being trimmed even though there was enough room.
2014-09-15 20:08:13 +02:00
JC Brand
bab04a4d97 Fixed a timing issue with keepalive.
When loading a page with an existing session, the roster view's elements were
being added too early, resulting in event handlers not being properly
registered.
2014-09-15 20:04:36 +02:00
JC Brand
95a77e3f92 Chat room messages are now stored in browser storage. 2014-09-12 22:23:42 +02:00
JC Brand
c04ed35b65 Properly remove chat room occupants who leave. 2014-09-12 19:46:52 +02:00
JC Brand
fa2ff46cee Give chatroom's occupants view a ref to the chatroom view
and thereby fix bug with directInvites.
2014-09-12 19:31:53 +02:00
JC Brand
450ce04fd9 Refactor chat rooms.
When re-attaching to an existing session, chat rooms are fetched from
sessionStorage and we join them again.

However, unless we send a presence of type unavailable before reloading the
page, from the XMPP server's perspective we never left the chat room.

It therefore doesn't send us again the room occupants or room messages.

To send a presence of type unavailable is a hack and not desireable. Rather, we
want to stay in the room and just re-attach to it upon page reload.
In order to do this, we need some new functionality.

* Refactor the chat room sidebar into a new Backbone Model/View combo. (done).
* Store/fetch room occupants in/from sessionStorage (done).
* Store/fetch room messages in/from sessionStorage (not yet done).
* Instead of re-joining a chat room which we never left, just register the event handlers again. (not yet done).
2014-09-12 15:30:28 +02:00
JC Brand
e59071aeea Add the ability to log out of a session. updates #80 2014-09-07 13:18:36 +02:00
JC Brand
b7c9c0f508 Only save the session if it's valid. 2014-09-07 00:18:36 +02:00
JC Brand
aa046654bf Provide single-session support. 2014-09-06 23:34:39 +02:00
JC Brand
9e5dc21aa4 Refactor showing of chat room status messages.
onChatRoomPresence and showStatusMessages have been refactored to give more
detailed information and to also show the reasons given to actions taken by
moderators.
2014-09-06 12:25:37 +02:00
JC Brand
e8a70abcc1 Bugfix. Chat room status messages weren't being shown in certain cases. 2014-09-05 23:24:35 +02:00
JC Brand
a3e540fa67 Provide feedback if a chat room command didn't work. 2014-09-05 19:36:31 +02:00
JC Brand
82659e87d7 Add extra chat room commands: /nick, /mute and /voice.
Also document the available chat room commands.
2014-09-05 18:27:32 +02:00
JC Brand
ae90c7420e Update docs and rename option to use underscore instead of dash. 2014-09-03 20:15:46 +02:00
JC Brand
e64153b83f Implement the participants show/hide feature. 2014-09-03 20:04:32 +02:00
JC Brand
3aaa8df41a Notification sound now also plays when nickname is mentioned in chat room.
updates #62
2014-09-03 18:47:24 +02:00
JC Brand
9d886a9f1d Add a test for the onInvite method. refs #215 2014-09-02 20:01:49 +02:00
JC Brand
14ce4a0e6d Bugfix. Don't override chat_status retrieved from sessionStorage.
See http://librelist.com/browser//conversejs/2014/8/26/problem-with-contact-list-everyone-is-offline/
2014-09-02 16:42:08 +02:00
JC Brand
1b4658745c Add a magnifying glass icon to invitee search field. updates #215 2014-09-01 13:05:10 +02:00
JC Brand
bf0d0320c5 Emit an event after the user has sent out a chat room invitation. refs #215 2014-08-31 21:54:17 +02:00
JC Brand
67c00d779d Tweak invite widget style and make the placeholder text translateable.
updates #215
2014-08-31 21:29:47 +02:00
JC Brand
37255a2692 updates #215, see below.
* 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.
2014-08-31 19:44:05 +02:00
JC Brand
156d231c95 Converse.js now responds to XEP-0030 Service discovery requests. 2014-08-31 14:14:50 +02:00
JC Brand
9f6e36e38d Merge branch 'master' into user-invite 2014-08-31 02:18:28 +02:00
JC Brand
db24bf7a70 Bugfix. Don't append, replace.
Otherwise, if the same error presence is received twice, the form will render
twice.
2014-08-31 02:17:48 +02:00
JC Brand
59505c0c48 Show the invitation reason if it exists. updates #215
Also, call the directInvite method on the XmppRoom obj of Strophe.MUC. This
will automatically include the room name and password.
2014-08-31 01:17:52 +02:00
JC Brand
b158c328dd Include reason for invite, if there is one. updates #215 2014-08-30 17:56:45 +02:00
JC Brand
bea7687bac Add protocol code for sending and receiving invites. updates #215 2014-08-30 16:00:52 +02:00