JC Brand
4aa123d557
Add timestamps to resources
...
So that when a higher priority resource goes offline, we can fall back to the
right chat status if at the next priority level there are multiple resources.
789654d54e (comments)
2017-02-21 22:15:08 +01:00
JC Brand
29add969a6
Shut eslint up
2017-02-21 09:00:56 +00:00
JC Brand
7ae2e46925
Expand tests and found a bug in the process.
...
updates #785
2017-02-20 22:37:06 +01:00
JC Brand
789654d54e
Updates #785 and #787
...
Improve upon the previous implementation.
If the resource with the highest priority goes offline or becomes unavailable,
then the chat status of the contact must fall back to that of the resource with
the next highest priority.
In your example from #785 , if the resource with priority 1 goes offline or
becomes unavailable, then in your implementation the chat status would stay at
online, although it must actually go to xa.
The solution is to update the resources attribute on the contact to not just be
an array or strings, but instead to be a map of resources to priorities and
statuses and to use that data structure.
2017-02-20 22:29:13 +01:00
JC Brand
3aa5a83d02
Add a test case based on #785
2017-02-20 20:47:08 +01: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
51fc401a24
Fix failing tests due to new defaults.
2017-02-17 09:45:34 +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
ba9d3c36d5
Refactored converse-otr.js
...
- Removed password encryption of the key.
It never properly worked and bloated the build through extra dependencies.
- Store the key and instance tag on the ChatBox model.
2017-02-15 11:15:03 +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
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
d3bdcd865e
Fix failing test
2017-02-14 13:39:22 +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
6d2a38a7c1
Fixes #486 Update docs and fix failing test.
2017-02-12 19:01:07 +00:00
JC Brand
63888dd454
Fix failing tests
2017-02-02 21:55:05 +00:00
JC Brand
0424df9edc
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 20:43:48 +00:00
JC Brand
a30cf931b8
Split API into public and private (plugin only) parts.
2017-02-02 20:09:52 +00:00
JC Brand
1476ffeb77
Fix tests failing on phantomjs
2017-02-02 19:28:50 +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
3494691286
Fix failing tests
...
after allowing chatting with pending/requesting contacts
2017-02-02 16:37:41 +01: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
Richard Icke
343e5777d1
first attempt to replace underscore with lodash
2017-02-01 14:00:38 +01:00
JC Brand
25d9880f9e
Add config setting allow_non_roster_messaging
...
- Add a test case.
- Don't allow passing of `attrs` to `chats.open`. Not sure yet of the
implications of this.
2017-02-01 10:49:13 +00:00
JC Brand
e81eaf323e
Prevent forging of messages via carbons.
2017-02-01 10:49:13 +00:00
JC Brand
0cf9903726
Fix failing tests.
2017-02-01 10:49:13 +00: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
c3b2a913bb
Don't open the controlbox on requesting contacts.
...
Can get annoying very quickly
2016-11-22 17:41:57 +01:00
JC Brand
c670893058
Bugfix. Arrays in configuration settings were ignored.
2016-11-22 08:55:52 +00: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
9bf00241de
Updates #721 Restore sessions when logging in anonymously
...
together with keepalive.
2016-11-07 18:48:49 +01:00
JC Brand
27035d47dc
Remember toggle state of bookmarks list.
2016-11-03 15:33:56 +00:00
JC Brand
64b5755d10
Add a quick test for remembering of open tab.
2016-11-03 14:10:08 +00: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
6f1ac50893
Move leaky MUC abstractions out of converse-chatview.js
...
In the process also updated `updateSettings` to allow merging.
2016-10-27 14:56:31 +02:00
JC Brand
01c3a50cc2
Add code to generically and recursively update user settings.
...
Also moved chatview specific settings.
2016-10-26 14:14:49 +02:00
JC Brand
1de2f7145c
Let bookmarks list use same markup/css as the available rooms list
2016-10-18 11:34:46 +02: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
43ae702c7a
Only fetch bookmarks once chatboxes can be handled.
2016-10-13 18:08:59 +02:00
JC Brand
fc48e02937
More lazily render the bookmarks list
...
Could still be improved.
2016-10-06 13:21:59 +02:00
JC Brand
ee6c5dbf49
Add overflow for very long bookmark names
2016-10-06 12:48:16 +02:00
JC Brand
0020be34d7
Show a list of current bookmarks in the "Rooms" panel
2016-10-06 12:05:25 +02:00
JC Brand
c3456eeede
Test fixes.
...
- Call `_initialize` after tests have run
Since the tests call `teardDown`, which removes all chatboxes.
- Open controlbox when navigating to panel
2016-10-06 09:00:57 +02:00
JC Brand
e39999f3ec
Check bookmarks for nicks when joining rooms
2016-10-05 23:15:42 +02:00
JC Brand
7319ebf087
Use 'connected' event instead of 'initialized' which has been deprecated
2016-10-05 23:15:42 +02:00
JC Brand
6972066076
Bookmarked rooms will now be automatically opened
...
If configured for it.
2016-10-05 23:15:42 +02:00
JC Brand
e80f001b35
Allow bookmarks to be removed from rooms
...
Refactored the code a bit in the process.
2016-10-05 23:15:42 +02:00
JC Brand
7ca7943706
Indicate whether a chatroom has been bookmarked.
2016-10-05 23:15:42 +02:00
JC Brand
3e77deee26
Bugfix in format of IQ stanza to save bookmarks.
2016-10-05 23:15:42 +02:00
JC Brand
052dd19252
Initial work on adding chatroom bookmarks.
2016-10-05 23:15:42 +02: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
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
561c138edd
Bugfix. Allow multiple MAM queries to be made simultaneously.
2016-07-28 18:01:37 +02: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
71381e2f22
Show requesting contacts when filtering by chat state.
...
Also add an initial test case for filtering by chat state.
2016-07-18 08:42:07 +00:00
JC Brand
be122af3ed
Add tests for rendering of error messages.
2016-06-23 08:56:15 +02:00
JC Brand
9cfec0ba8c
Show requesting contacts at the top of the roster view.
2016-06-21 17:48:18 +00:00
JC Brand
705c043852
Fixes concerning tab visibility
2016-06-17 09:30:47 +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
a050015e61
Add processing hints to chat state notifications
...
So that they're not stored in MAM.
2016-05-30 16:53:31 +00:00
JC Brand
bd23a7751a
Add processing hints to OTR messages
...
so that they're not stored in MAM and not forwarded.
updates #553
2016-05-30 16:52:26 +00:00
JC Brand
b6fcc9b79d
Don't render unescaped urls.
2016-05-28 11:28:32 +00:00
JC Brand
5a1b308edd
Render images from URLs
2016-05-28 11:13:49 +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
82ee7f694e
Don't ignore messages sent to different resource
...
But make this behavior configurable. Updates #647
2016-05-28 06:36:24 +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
aaaacf2513
Also show the day for the first received messages.
...
Until now, new days were only indicated for messages received on different days
*after* the day's messages.
2016-05-25 06:24:42 +00:00
JC Brand
218000551d
Add the ability to replay transcripts of chat logs.
2016-04-28 14:58:09 +00:00