JC Brand
59a72efe1b
Refactor MUC message sending
...
To make it more similar to how messages are sent in private chats and to
reuse methods as far as possible.
Removed `sendChatRoomMessage` and `clearChatRoomMessages`
2018-04-24 11:09:36 +02:00
JC Brand
8a862e27c5
Catch and log errors inside promises
2018-04-24 11:07:32 +02:00
JC Brand
c01e9f8265
Move methods from chatbox view to message view
...
Specifically the methods related to requesting an upload slot and uploading a file.
Also show a progress indicator while a file is being uploaded.
Updates #161
2018-04-17 15:21:38 +02:00
JC Brand
9528d81c00
Move various MUC methods onto the Backbone.Model
...
To more cleanly separate views and models and to make MUC in headless
mode more viable.
Refs #1032
2018-04-10 18:59:02 +02:00
JC Brand
9a526d4194
Refactoring of the XEP-0085 Chat State Notifications code
...
* Distinguish between CSN messages and other types of messages
* Properly clear previous notifications
* Better handling of notifications from multiple users (in MUC)
* Rename methods to make clarify intent
2018-04-06 17:02:28 +02:00
JC Brand
ebfd0a8f77
Move various funcitons related to MUC member lists to utils
...
and out of the MUC views plugin.
Refs #1032
2018-03-30 14:23:39 +02:00
JC Brand
06141b3212
Move methods from MUC view to model
...
* checkForReservedNick
* parseRoomFeatures
* sendConfiguration
Refs #1032
2018-03-30 14:23:39 +02:00
JC Brand
95406a149d
Re-add xhr_user_search_url
and autocomplete when adding contacts
2018-03-30 14:22:51 +02:00
JC Brand
ca141401a0
Fix failing tests
2018-03-13 13:42:00 +01:00
JC Brand
34ac7e99ab
Fixes #1024
...
Use sizzle, otherwise we sometimes get null returned.
2018-03-02 12:36:08 +01:00
JC Brand
e630339a69
Update spec to test sent out stanza as well
2018-03-02 11:59:25 +01:00
JC Brand
ba09996998
Don't allow PEP bookmarks if #publish-options is not advertised
2018-02-08 09:49:05 +01:00
JC Brand
5f3761dc7f
Only initialize bookmarks and show icon if PEP is supported
...
which we check by checking if the PEP identity is provided.
https://xmpp.org/extensions/xep-0163.html#support
2018-02-07 21:05:38 +01:00
JC Brand
4f227b467b
Take all messages except chat events into consideration
...
when determining where to insert new messages
2018-01-10 12:45:12 +00:00
JC Brand
e5b256e45e
Fix broken tests
2018-01-10 12:27:46 +00:00
JC Brand
96742a6684
Also make the open rooms list an OrderedListView
2018-01-06 20:42:46 +00:00
JC Brand
ee751ec58e
Update jquery and sizzle and fix/improve some tests
...
Fixes #825
2018-01-04 13:11:50 +00:00
JC Brand
4652385bb4
Remove jQuery from non-tests config
2018-01-04 12:11:03 +00:00
JC Brand
671691353a
Use Backbone.NativeView instead of Backbone.View
2018-01-03 20:41:03 +00:00
JC Brand
da3670d9f0
MUC Join/Leave messages now also show a new day indicator
2018-01-03 13:37:25 +00:00
JC Brand
46e54667c3
Simplify insertDayIndicator
method
2018-01-03 13:37:25 +00:00
JC Brand
e360d9eead
Removed jquery from converse-chatview
2018-01-02 21:52:55 +00:00
JC Brand
334a24c938
Use template to render .chat-info messages
...
Also did some work on removing jQuery from converse-chatview
2017-12-24 17:09:49 +00:00
JC Brand
f84c443bd2
Remove jQuery from converse-muc.js
2017-12-23 20:29:20 +00:00
JC Brand
7c782ed6a4
Fix failing test
2017-12-22 21:24:45 +00:00
JC Brand
1178badec8
Role was wrongly set to 'occupant' instead of 'participant'
2017-12-22 12:02:24 +00:00
JC Brand
6c6ef1f1f9
Refactoring of the roster view.
...
* Removed the dependency on jQuery
* Contacts are now shown inside a group element, simplifying the code
2017-12-19 18:44:31 +00:00
JC Brand
f9343594bf
Collapse multiple, consecutive join/leave messages
2017-12-15 16:24:30 +00:00
JC Brand
c874efeb79
Sort chatroom occupants alphabetically and according to role
2017-12-14 18:07:40 +00:00
JC Brand
a68cb85969
Add a test case for the /op and /deop commands
2017-12-14 13:23:14 +00:00
JC Brand
dc16930464
Test the /voice command and fix a bug
2017-12-14 13:07:39 +00:00
JC Brand
bd5a49da3f
Show an info message when a MUC occupant is muted.
2017-12-07 07:05:37 +01:00
JC Brand
2b6db9d50b
Test /help
, /kick
and /mute
commands
2017-12-06 22:11:53 +01:00
JC Brand
fc94127014
Fix failing tests
2017-12-03 18:49:53 +01:00
JC Brand
8a4aa4efdd
Use a named variable for _.template
...
This removes the need for `switch (obj)` in the template which is not
allowed in strict mode.
Additionally using a named variable speeds up rendering.
2017-11-05 18:59:29 +01:00
JC Brand
f0debc61ab
Refactor i18n so that only relevant translations are fetched
...
instead of bundling all translations in the dist file.
2017-09-25 12:49:10 +02:00
JC Brand
c9913bf6ac
Fix failing tests
2017-08-29 12:29:56 +02:00
JC Brand
397927b189
Fix broken tests and update changelog
2017-07-12 09:58:14 +02:00
JC Brand
16d62bf9e4
Fix broken tests due to using ES2015 promises
2017-07-11 17:05:02 +02:00
JC Brand
47cf5c1910
Fixup
2017-06-23 20:18:57 +02:00
JC Brand
02e5921415
Fix problem of stuck/hanging tests on TravisCI
2017-06-19 15:05:22 +02:00
JC Brand
8191d5e83a
muc: Rename `createChatRoom
to
openChatRoom
`
...
It doesn't always create a new room.
2017-06-13 18:22:19 +02:00
JC Brand
a128a70d41
Discriminate between which unread messages to indicate per tab
2017-06-07 00:55:57 +02:00
JC Brand
f897fbb7c0
Show number of unread mesages on the "Contacts" tab
2017-06-05 21:42:25 +02:00
JC Brand
5949ca9e36
Show number of unread messages on the "Rooms" tab
2017-06-05 14:52:24 +02:00
JC Brand
a4284e48f7
Use proper message handler. Fix typo
2017-05-23 18:49:04 +02:00
JC Brand
c81599931c
Fix failing tests based on recent unread message changes
2017-04-24 15:57:22 +02:00
JC Brand
6af4480c14
Render disconnect message via template and add padding.
2017-04-21 18:26:59 +02:00
JC Brand
0c43e4b87c
Upgrade to Jasmine 2.5.3
2017-04-06 11:31:05 +02:00
JC Brand
6e94e11dcc
Fixes #820 . Inconsistency in displaying room features
2017-03-19 18:23:02 +00:00
JC Brand
a2cea678fe
Shut eslint up and fix test
2017-03-15 12:41:04 +00:00
JC Brand
f24e7c0905
Remove scrollDownMessageHeight. Fix failing test
2017-03-03 15:12:48 +01:00
JC Brand
c7de70052c
Fix failing test
2017-02-28 07:17:30 +00:00
JC Brand
f2f05ff484
MUC: Don't show duplicate join
messages.
2017-02-28 05:02:36 +00:00
JC Brand
f8d9368163
MUC: only render and listen to 'scroll' event...
...
after the cached messages have been fetched.
2017-02-27 21:09:17 +00:00
JC Brand
946a240080
Make sure to show the invite widget
...
when the room features change.
2017-02-27 17:56:40 +00:00
JC Brand
0d48929bb3
Show join/leave messages in chat rooms. Updates #365
2017-02-24 17:54:45 +00:00
JC Brand
441f7a2a15
Show the chatroom occupants JID in the tooltip
...
if you're allowed to see it.
2017-02-19 01:08:08 +00:00
JC Brand
10a85336cc
Show the description in the heading, not the subject
2017-02-19 00:20:21 +00:00
JC Brand
65fa39dd81
Properly fix and test the /me command
2017-02-15 21:03:02 +00:00
JC Brand
a033899946
Fix leaky abstraction of MUC
2017-02-15 20:30:32 +00:00
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