Commit Graph

139 Commits

Author SHA1 Message Date
JC Brand
e52a775430 Bugfix. See below.
"TypeError: this.sendConfiguration(...).then is not a function" when a room is created
2017-02-14 16:55:32 +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
33fad75154 Workaround to get tests on phantomjs to pass 2017-02-14 12:52:03 +00:00
JC Brand
d2227c8d44 Replace typeahead with awesomplete.
Much smaller library.
No dependence on jQuery.

Updates #779
2017-02-14 12:26:56 +01:00
JC Brand
85f6a75fed Escape user-generated input to avoid injection attacks 2017-02-13 13:41:37 +00:00
JC Brand
1476ffeb77 Fix tests failing on phantomjs 2017-02-02 19:28:50 +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
bcbeb8da6c Case-insensitive matching of moderation commands.
Also add `/subject` as alias to `/topic`
2017-02-02 14:56:56 +01:00
JC Brand
081f075aa9 Add eslint with lodash checking and apply its suggestions 2017-02-01 14:02:18 +01:00
JC Brand
035f5d683a Add unit tests for how the affiliations delta is computed. 2016-12-08 12:44:18 +00:00
JC Brand
b2240cfe94 Use $.when to keep track of all outgoing promises
Now that we are sending multiple IQ stanzas when setting affiliations.
We now again have a sendAffiliation method, so we use that.
2016-12-08 07:34:01 +00:00
JC Brand
54371f0e7d Remove setAffiliation and use the more general purpose setAffiliations 2016-12-07 11:45:51 +00:00
JC Brand
77d3e64f42 Specify the reason (if given) when setting someone's affiliation
This changed required me to go back to an array of maps instead of a single map
to store jids and affiliations.
2016-12-07 11:45:51 +00:00
JC Brand
c6767bcdaa Refactor to send out 3 affiliation request stanzas.
One for each affiliation (member, owner, admin).

Unfortunately Prosody doesn't give you correct results if you query for all
three affiliations in one stanza.

We'll have to see whether setting all three in one stanza actually works.
2016-12-06 18:34:54 +00:00
JC Brand
6c725409c2 converse-muc: Only send the delta when setting the member list.
As required by XEP-0045.

This requires that we first fetch the existing member list, compute the delta
and then send that if there is one.
2016-12-06 15:18:33 +00:00
JC Brand
c877f63bf0 polyfill startsWith, to make the tests pass. 2016-12-05 18:55:11 +00:00
JC Brand
376c50fbc8 When inviting to a members-only room, first add to user to the member-list 2016-12-05 15:06:20 +00:00
JC Brand
7ad39cfdb9 Fetch the room information before opening the room. 2016-12-05 06:07:01 +00:00
JC Brand
67cdf5daf2 converse-muc: Expand the room configuration test 2016-12-04 18:06:11 +00:00
JC Brand
d109ed9416 converse-muc: Fix failing test.
No need to manually call `renderChatArea`.
2016-12-04 14:40:50 +01:00
JC Brand
fbf2e56be4 converse-muc: Cache the room configuration on the Backbone.Model object 2016-12-04 14:40:20 +01:00
JC Brand
5e1b094881 Expand upon rooms.open testcase to test configuration 2016-12-02 21:35:56 +01:00
JC Brand
910e9bddcd Refactoring in MUC
What started as an attempt to fix a bug in parseXUserElement, turned into
another large refactoring of MUC code, and it's not clear how to break this up
into multiple atomic commits. So I'm just pushing it all.

At least there are two new tests added to the suite.
2016-12-02 18:41:05 +01:00
JC Brand
de07b6a529 No need for two AMD-load cycles. 2016-11-30 12:18:58 +00:00
JC Brand
a5f76abcf1 Updates #729. Minimized chat boxes don't stay hidden
Bug got introduced during fix for #677

Eventually had to do a significant refactoring, to more consistently use the
`hidden` class instead of `display: None`. (relevant for #695)
2016-11-22 17:42:58 +01:00
JC Brand
5a72466c45 Rename variables to adhere to coding style. 2016-11-22 08:54:17 +00:00
JC Brand
5e9e685219 Mention the actor (if available) when removed from room 2016-11-21 13:10:36 +00:00
JC Brand
e02c044ae4 Refactored notification code
responsible for showing messages based on the extended presence information.

- Use DOM API instead of jQuery
- Make info messages overridable (allows also for disabling them)
- Break up large function with inline callbacks into smaller ones
2016-11-21 12:57:22 +00:00
JC Brand
a2f4acdcee All tests suites now updated and isolated. 2016-11-03 13:59:05 +00:00
JC Brand
f60ee4d640 Refactor rooms to have separate handlers for presence and message stanzas 2016-10-13 18:22:37 +02:00
JC Brand
7ca7943706 Indicate whether a chatroom has been bookmarked. 2016-10-05 23:15:42 +02:00
JC Brand
fe46f2ee77 Chat state notifications are now also sent out from chat rooms. 2016-08-12 12:52:33 +00:00
JC Brand
462a43b891 Add new config option muc_nickname_from_jid
which if set to `true` will let converse.js automatically take the node part of
a user's JID as their nickname when entering a room.

If there is a nickname clash, then the nickname will be disambiguated by adding
integers to it.

For example, john will become john-1, then john-2 and so forth.
2016-08-11 12:02:35 +00:00
JC Brand
a1e24c95c9 Add nickname to chat message when clicking on room occupant.
Allows you to easily mention someone in your message.
2016-07-26 09:31:23 +00:00
JC Brand
172ce7e0ce Remove the members-list work and keep the nickname form stuff
It's not stable yet and XMPP server support is very patchy.
However, the nickname form work can be merged into master.
2016-07-26 07:14:22 +00:00
JC Brand
be47ceaab5 In case of a nickname conflict, enable the user to choose a new one 2016-07-26 07:12:56 +00:00
JC Brand
dcd1a847bd Fix failing tests.
We now need to mock some extra XMPP stanzas being received when a user enters a chat
room in tests.
2016-07-26 07:12:56 +00:00
JC Brand
f56b85cff7 Check whether the user has a reserved nickname
when they enter a chat room. If they have, we'll use that, otherwise we render
a form where they can specify their nick.

Some chat room tests now fail and still need to be fixed.
2016-07-26 07:12:56 +00:00
JC Brand
5ffebda8c2 Fix failing tests 2016-07-26 07:12:56 +00:00
JC Brand
6c99c51c74 New API method converse.rooms.close(). 2016-06-03 08:41:13 +00:00
JC Brand
c738d085c4 Indicate to the user when there are unread messages
further down in the chat box.
2016-05-28 10:07:11 +00:00
JC Brand
22041b3d7f Bugfix, room subject wasn't being shown. Also added a test for it. 2016-05-25 09:22:27 +00:00
JC Brand
d0c13ea91c Small translation tweaks and then compiled i18n files 2016-04-07 10:42:27 +00:00
JC Brand
64eb5d2f4a Fix grammar 2016-04-04 10:34:23 +00:00
JC Brand
fc7f50887a Refactored MUC plugin to not have to override ChatBoxes collection.
Instead we use event handlers.
2016-03-22 07:49:25 +00:00
JC Brand
0aa0c02124 Add tests for src/converse-notification.js. updates #443
In the process refactored the code being tested.

- Move notifications code in MUC to src/converse-notification.js
- Trigger the 'contactStatusChanged' event in RosterContact and not in
  ChatBoxView (which might not exist).
2016-03-08 10:44:27 +00:00
JC Brand
26cb98d963 Move playing of sounds to the notification plugin.
Also add a config setting for the icon shown in HTML5 notificatins.

updates #443
2016-03-01 08:58:36 +00:00
JC Brand
cd731ed699 Some refactoring to make plugins easier.
- Refactored sound notification to make it a bit more generic
- Split up onMessage
2016-02-29 20:54:34 +00:00
JC Brand
dfcebeb621 Rename participants to occupants. 2015-10-31 16:48:50 +00:00
JC Brand
3dfa36c2cb Fix tests after small markup change 2015-10-30 17:44:24 +00:00
JC Brand
7ad3c385aa Rename chat-message-* class to chat-msg-* 2015-10-28 08:52:19 +00:00
JC Brand
8b3ede9e56 Remove unused parts from Gruntfile
Wouldn't mind getting rid of grunt completely.
2015-10-27 09:11:36 +00:00
JC Brand
e835a25184 Add jshint checking and fix errors. 2015-10-25 17:55:18 +00:00
JC Brand
ff2910b9ce Fix CSS and horizontal dragresize for chat rooms.
- Rename .chat-body to .chatroom-body
- Upate SASS for chat rooms
- Hide the room occupants view by toggling the class "hidden"
- The chatroom chat area and occupants list are now shown as table cells.
2015-10-24 20:46:58 +00:00
JC Brand
12d6785d02 Fixes #472 Cannot read property 'splitOnce' of undefined 2015-10-12 14:24:22 +00:00
JC Brand
e3cb6f3fc7 Use .bind instead of $.proxy 2015-10-07 09:05:53 +00:00
JC Brand
0d4cf15f0e Move changelog entry to right version and add test case. 2015-09-09 10:17:46 +02: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
db44a297cb Remove the last calls to connection.muc. updates #307 2015-03-04 22:27:11 +01:00
JC Brand
79a5121219 Also test for users leaving a room. updates #307 2015-03-01 13:28:24 +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
f283f6bce5 Fix failing tests after introducing AMD version of Strophe 2015-02-01 16:15:34 +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
297259fdb7 Remember toggle state of control box. updates #222 2014-09-22 13:08:56 +02:00
JC Brand
7b6dfff99d Fix tests.
Elements in chat rooms are now hidden, instead of removed. Update tests to
reflect this.
2014-09-21 00:47:36 +02:00
JC Brand
5124c05f65 Fix (some) tests. 2014-09-16 10:26:24 +02:00
JC Brand
dfb130fb32 Test that user is properly informed when kicked out of a room 2014-09-06 12:46:24 +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
9d886a9f1d Add a test for the onInvite method. refs #215 2014-09-02 20:01:49 +02:00
JC Brand
18cbe06d58 Add some initial tests for the room invite feature. updates #215 2014-08-31 22:48:26 +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
e7d563b34b Let tests pass again 2014-08-08 22:06:01 +02:00
JC Brand
df91f17894 Fix tests. Emitted events weren't yet renamed in the tests. 2014-07-14 23:29:08 +02:00
JC Brand
4950bb9120 Fixing tests after latest refactoring 2014-06-30 19:21:16 +02:00
JC Brand
c3dcbbc660 Fix last failing tests. 2014-06-21 11:46:23 +02:00
JC Brand
c6a32b847e Fix chatroom tests 2014-06-02 05:13:53 +02:00
JC Brand
b84fb41341 Trimmed chats can now be restored. 2014-05-27 22:51:11 +02:00
JC Brand
38e0668372 Fix tests. 2014-05-27 19:18:02 +02:00
JC Brand
ad51e1c0f7 More working on trimming chats. (still very buggy)
More flesh on the view and superview for trimmed chats.
Add event handlers.
Renamed some methods to make them shorter, more consistent.
2014-05-27 18:34:22 +02:00
JC Brand
aa52ba5b94 Add method trimOpenChats. Updates #61 2014-04-26 06:55:52 +02:00
JC Brand
b88113c246 Fixed some failing tests.
Some of the tests were failing because they didn't expect the controlbox to be
returned from localStorage.
It's too long ago that I've looked at this branch for me to say whether this is
a legitimate bug or not.
Will have to investigate further.
2014-04-18 17:42:35 +02:00
JC Brand
6290f954a7 Add toggle test for chatrooms 2014-03-14 21:35:43 +02:00
JC Brand
b14538b441 Rename ChatBoxesView to ChatBoxViews 2014-03-04 15:54:36 +02:00
JC Brand
d20ca10638 Add closured get/set methods for views from chatboxesview 2014-03-04 15:09:16 +02:00
JC Brand
11b59b31d3 Fix tests after all the refactoring... 2014-03-01 01:57:20 +02:00
JC Brand
4e9dc08b0b Clean up after running tests, by closing chatboxes. 2014-01-19 07:02:18 +02:00
JC Brand
326e5a188b Rename the spec files 2013-12-16 20:00:15 +02:00