JC Brand
5c445a0268
Don't show headlines from full JID if allow_non_roster_messaging is false
2017-02-24 17:13:38 +00:00
JC Brand
6dfc82da0b
Native querying instead of using jquery
2017-02-24 12:00:05 +00:00
JC Brand
2ae2a1b505
Updated a bit to make it clearer.
2017-02-24 12:00:05 +00:00
JC Brand
305559a85c
Use sizzle in converse-muc.js
2017-02-24 12:00:05 +00:00
JC Brand
8a63813f5e
Add the ability to set the presence priority.
...
Fixes #745
2017-02-22 22:13:23 +01:00
JC Brand
17e0e70e4e
Support for XEP-0203 delayed delivery of presence stanzas
2017-02-21 23:30:11 +01:00
JC Brand
40605607e6
Specify radix for parseInt
2017-02-21 22:17:05 +01:00
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
728c7622e9
Use composition instead of chaining
2017-02-21 09:50:44 +01:00
JC Brand
d79bfe6f28
Use composition instead of chaining.
2017-02-21 09:35:50 +01: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
w3host
15d2640c43
Presence priority NOT handled correctly #785 ( #787 )
2017-02-20 20:48:09 +01:00
JC Brand
62889089a6
Keep the features section near the bottom.
2017-02-20 14:35:15 +00:00
JC Brand
c845d419fe
Better way of getting a hold onto the chat room view
2017-02-19 11:03:24 +00:00
JC Brand
4c41ae8fad
Render room features separately
...
So that the occupants list doesn't get wiped.
2017-02-19 11:16:27 +01:00
JC Brand
9817aedea7
No need to set templates on the _converse object.
...
If it's needed in another plugin, it can simply be `require`'d.
2017-02-19 11:12:26 +01:00
JC Brand
054cba6503
Make accept/decline buttons accessible
2017-02-19 09:03:58 +00:00
JC Brand
a5bfd7fa57
Hide invite widget if the room is not open
...
or if the room is members-only and the user is not the owner.
2017-02-19 01:18:36 +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
a6ca5aad35
Show room features in the sidebar.
2017-02-19 00:39: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
0a99b9f22a
Don't query for room features for restored chat rooms.
2017-02-19 00:20:21 +00:00
JC Brand
efa8776881
By convention keep the render methods immediately after initialize
2017-02-18 10:03:26 +00:00
JC Brand
61bee4c263
The Strophe.Connection obj needs to be reset before reuse.
...
Otherwise re-login hangs after authfail.
2017-02-18 09:46:33 +00:00
JC Brand
33cc2c3cf5
Remove #BBB code for the deprecated prebind
option
...
replaced with the `authentication` option
2017-02-18 09:35:16 +00:00
JC Brand
fe6cb93a63
MUC: don't send out chat hints before join or after leave
2017-02-17 22:17:19 +01:00
JC Brand
f83043e5ab
Fix reference to missing parameter.
2017-02-17 22:07:11 +01:00
JC Brand
6379b0dd7a
Include the version number in the build files.
2017-02-17 20:52:08 +00:00
JC Brand
a1c156456d
Make keepalive
and roster_groups
true by default.
2017-02-17 08:54:58 +01:00
JC Brand
a2081d656c
Add shim for awesomplete
2017-02-16 14:26:48 +01:00
JC Brand
9218d649e9
Bugfix. Avoid infinite recursion (used wrong model).
2017-02-16 11:17:38 +01: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
148516e0cc
Fix almond builds. updates #779
2017-02-15 20:01:41 +00:00
JC Brand
61568aca32
The notification option wasn't being used consistently
2017-02-15 19:12:45 +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
70d385bc28
Use AMD-aware cryptojs from NPM. Update to 0.2.16
2017-02-15 10:02:15 +00:00
JC Brand
073a95b7e6
Avoid visibility transience and fix failing test
2017-02-15 07:46:24 +00:00
JC Brand
fbdbea223d
Ensure consistent behavior from show_controlbox_by_default
2017-02-14 17:23:22 +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
495c6060f9
Allow non-roster contacts to be invited to a chatroom.
2017-02-14 14:35:31 +01:00
JC Brand
7b65155d5b
Don't show chat-state notifications by default.
2017-02-14 13:00:45 +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
994c961d9c
Add a waitUntil
API for promises.
2017-02-14 11:24:20 +01:00
JC Brand
3b8431dd7a
Revert "Escape interpolated values. Updates #779 "
...
This reverts commit e63607227d
.
2017-02-14 07:47:38 +01:00
JC Brand
e63607227d
Escape interpolated values. Updates #779
2017-02-14 07:28:04 +01:00
JC Brand
54136a9447
Merge branch 'pr/chats_open_attrs' of https://github.com/Ape/converse.js into Ape-pr/chats_open_attrs
2017-02-13 15:26:40 +00:00
JC Brand
d334870d00
Render the login form again upon authfail.
2017-02-13 15:23:26 +00:00
JC Brand
48a3c30e75
i18n locale can now be specified with only the language code
2017-02-13 15:16:16 +00:00
JC Brand
fddcd1c6cf
Improved roster filter UX.
...
Keep the focus in the input after filtering.
Prevent form submission from reloading the page.
2017-02-13 15:07:46 +00:00
JC Brand
f73a1d3fc0
Don't name the modules.
...
According to the require.js docs this shouldn't be done.
http://requirejs.org/docs/whyamd.html#namedmodules
2017-02-13 14:37:17 +00:00
JC Brand
fd2f1c22e4
Fixes #775
2017-02-13 14:26:59 +00:00
JC Brand
acf0e19d99
Fixes #774
2017-02-13 14:20:16 +00:00
JC Brand
5f67797202
Fixes #749
2017-02-13 14:00:05 +00:00
JC Brand
85f6a75fed
Escape user-generated input to avoid injection attacks
2017-02-13 13:41:37 +00:00
JC Brand
bfd3e7f0b6
Bugfix. Show custom status, not chat status.
2017-02-13 12:00:46 +00:00
JC Brand
6d2a38a7c1
Fixes #486 Update docs and fix failing test.
2017-02-12 19:01:07 +00:00
throwaway42
c34dcfaadc
Honor existing mam user configuration #486
2017-02-11 19:08:26 -03:00
JC Brand
7ad555d97f
Correct rev for pluggable.js.
...
Don't include muc-embedded by default
2017-02-04 09:32:24 +00:00
JC Brand
ebbde138db
Add the ability to whitelist/blacklist plugins.
2017-02-03 18:26:27 +00:00
JC Brand
552b80fe69
Fix typo that came in during bulk renaming
2017-02-03 12:25:59 +00:00
JC Brand
da23015ced
Massage require.js's config so that builds work
...
without underscore.js
2017-02-02 22:38:16 +00:00
JC Brand
63888dd454
Fix failing tests
2017-02-02 21:55:05 +00:00
JC Brand
890d87c980
Add initial demo of embedded MUC chat
2017-02-02 21:55:05 +00:00
JC Brand
761970c903
Update plugins to not depend on converse-core
...
To illustrate that this is not necessary (and also not possible with
non-bundled plugins).
2017-02-02 20:50:52 +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
3699a0af5c
createMessage
no longer takes jQuery object
2017-02-02 19:45:16 +00:00
JC Brand
7c15e2f179
Some initial work on removing jQuery
2017-02-02 19:42:01 +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
9b48b2d6bd
Update plugins to not depend on converse-core
...
To illustrate that this is not necessary (and also not possible with
non-bundled plugins).
2017-02-02 18:34:13 +00:00
JC Brand
b701c4830f
Also use _converse
as pluggable object reference.
2017-02-02 18:34:13 +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
1620dad104
Move dragresize-specific code out of converse-headline.js
2017-02-02 18:30:43 +00:00
JC Brand
647ee1ff04
Replace jQuery-based event emitter with Backbone.Events
2017-02-02 18:30:43 +00:00
JC Brand
ca5a00d36b
Some cleanup and remove unused file.
2017-02-02 18:30:08 +00:00
JC Brand
39d62209c7
createMessage
no longer takes jQuery object
2017-02-02 18:30:08 +00:00
JC Brand
4b22c8ba7b
Use sizzle for tricky selector queries
...
Specifically involving querying by the 'xmlns' attribute, where I've had issues
in the past.
2017-02-02 18:30:08 +00:00
JC Brand
77f93a6471
Some initial work on removing jQuery
2017-02-02 18:30:08 +00:00
JC Brand
8f753ab7b8
The animationend
handler doesn't get be called in chromium
2017-02-02 16:07:00 +01:00
JC Brand
8d69357b52
Debounce scrollDown
2017-02-02 16:06:49 +01:00
JC Brand
82665d17fb
By default allow chatting with pending/requesting users
2017-02-02 14:57:17 +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
46e231b4b3
Emit 'will-reconnect' event
2017-02-01 17:36:20 +00:00
JC Brand
65852f4e7c
Remove what appear to be unnecessary calls
2017-02-01 17:08:36 +00:00
JC Brand
60f86378a4
Handle reconnection on authfail edge case.
...
Attempt reconnection on authfail when credentials_url and auto_reconnect are set.
2017-02-01 16:34:38 +00:00
JC Brand
8ef7461627
Simplify the onDisconnected method. Add some docstrings.
...
Let debounced reconnection happen on the leading edge.
2017-02-01 16:24:28 +00:00
Lauri Niskanen
cbc0a40e12
Allow setting contact attrs on chats.open
2017-02-01 18:13:12 +02: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
327507412b
Update changelog, bump pluggable.js, move files to 3rdparty directory
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
Lauri Niskanen
246edf8a66
Allow chatting with users not in roster
...
Resolves #760 .
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
9510bdc152
Remove minimized chats when logging out.
2017-02-01 10:49:12 +00:00
JC Brand
d96bc6ebe4
Avoid sending 'auth fail' feedback twice.
2017-02-01 10:49:12 +00:00
JC Brand
af42bc0696
Only close controlbox when logging out
...
Not when the connection failed due to other reasons (like wrong credentials).
2017-02-01 10:49:12 +00:00
JC Brand
c1662c6339
Properly disconnect upon "host-unknown" error.
2017-02-01 10:49:12 +00:00
JC Brand
25e570c7ed
Bugfix. connection.reset
should only be called after disconnected
2017-02-01 10:49:12 +00:00
JC Brand
8cdadca492
Bugfix. Login form wasn't rendered after logging out
...
when `auto_reconnect` is set to true.
2017-01-31 19:32:12 +00:00
Leo
7ddca47032
Render all drag resize handles in ChatRoomView ( #758 )
...
The ChatRoomView renderDragResizeHandles is only rendering the top resize handle (<div class="dragresize dragresize-top"></div>). the insert was only inserting the first child of the dragresize template, which has 3 children. Modified to insert the whole the div that the dragresize template gets inserted into.
2017-01-23 08:33:17 +01:00
JC Brand
bd00fabe18
Add documentation on creating custom builds.
2017-01-20 09:18:18 +00:00
JC Brand
d6b5ed5e1e
Handle case where locales is not defined.
2017-01-16 22:07:58 +01:00
JC Brand
cbf9617734
Fix selector for cancel button.
2017-01-15 09:31:23 +00:00
JC Brand
c16dac1453
Rather don't expect join to always return the right context.
2016-12-09 19:15:16 +00:00
JC Brand
0bcf61389f
Work around a Prosody bug.
...
Prosody doesn't handle it if we set the affiliation for multiple JIDs in one
stanza, so we need to send a stanza for each JID.
Refs https://prosody.im/issues/issue/795
2016-12-09 19:11:16 +00:00
JC Brand
37df4ad18c
Bugfix. Need to return this
.
2016-12-08 14:23:17 +01: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
f5fbf71275
New config setting: muc_disable_moderator_commands
2016-12-07 13:48:47 +00:00
JC Brand
636f02109d
Various fixes in the delta algorithm
2016-12-07 13:02:03 +00:00
JC Brand
993c8f1695
We need to send out a separate IQ stanza for each affiliation
...
At least for Prosody.
2016-12-07 12:43:41 +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
b516ae51e7
Move code into separate function.
2016-12-07 10:34:02 +00:00
JC Brand
802c9d1f02
Make it configurable how the affiliations delta is computed.
...
When inviting someone to a members-only room, you only want to add an
affiliation of 'member' if they don't already have any other affiliation.
So we need to ignore the "new" member if they're already on *any* of the lists.
2016-12-06 20:04:08 +00:00
JC Brand
58f07cf115
Change the data structures representing members
...
Make the delta algorithm simpler. Fixed some delta bugs in the process.
2016-12-06 19:39:16 +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
008c07596a
converse-core: Call _tearDown when initialized again
...
When it's clear that a previous teardown didn't happen.
So that objects can be garbage collected and that obsolete event handlers don't
fire anymore.
2016-12-06 11:07:52 +00:00
JC Brand
bd81a98ffa
converse-rosterview: Remove the rosterview when tearing down.
...
It gets created anew when reconnecting or logging in.
2016-12-06 11:06:21 +00:00
JC Brand
c877f63bf0
polyfill startsWith, to make the tests pass.
2016-12-05 18:55:11 +00:00
JC Brand
cf42911754
converse-muc: rename wrapping function again and put on converse
...
So that it can be overridden.
2016-12-05 18:31:58 +00:00
JC Brand
59ad285823
converse-core: cause can sometimes be DISCONNECTING
2016-12-05 15:22:47 +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
088eb03b54
Immediately hide chat room on close.
...
Also, use sendPresence from latest strophe so that we have a timeout in case a
responding presence never comes.
2016-12-05 10:49:51 +00:00
JC Brand
7ad39cfdb9
Fetch the room information before opening the room.
2016-12-05 06:07:01 +00:00
JC Brand
5b944f9e5f
Fixes #737 : translations weren't being applied.
2016-12-04 16:53:35 +00:00
JC Brand
e179811181
converse-controlbox: Fix empty controlbox toggle after disconnect
...
- Remove apparently unused `giveFeedback` method on ControlBoxView
- Don't show old connection feedback when rendering a new login form.
Now also no need to explicitly remove feedback after disconnection.
2016-12-04 16:37:07 +00:00
JC Brand
81e3cb976c
converse-muc: Show a spinner while fetching the config form
2016-12-04 15:11:09 +00:00
JC Brand
fd40f24710
converse-muc: Don't delete reference, can cause attribute error
2016-12-04 15:08:02 +00:00
JC Brand
be25c688ff
converse-controlbox: Use event listeners instead of (removed) overrides
...
Due to changes in `converse-core` the controlbox wasn't aware anymore of
disconnection or reconnection events.
2016-12-04 15:07:46 +00:00
JC Brand
f0a454561b
converse-core: Properly disconnect if reconnection attempt fails.
2016-12-04 15:00:46 +00:00
JC Brand
2a81d2e6f3
converse-mam: Don't fetch MAM messages on each page load.
2016-12-04 14:45:36 +00:00
JC Brand
3b3720c32d
converse-core: Attempt to log in again when reconnecting
...
and when auto_login is not `true`. Will only work if the page wasn't reloaded,
because then the password will still be on the connection.
2016-12-04 14:14:40 +00:00
JC Brand
ec91175a70
converse-muc: Don't send a join presence at every page reload.
...
Instead, keep track of the connection state of the room and send a presence
only when the room's connection was disrupted.
2016-12-04 14:41:03 +01:00
JC Brand
d7892d942c
converse-muc: Bugfix.
...
Switching from bookmarks form to config form shows only spinner.
2016-12-04 14:40:55 +01:00
JC Brand
4026248c68
converse-muc: Fixes concerning room occupants.
...
- Fixed a sessionStorage caching bug caused by putting the nickname (which is
liable to change) in the cache key.
- Clear the occupants sessionStorage when closing a chat room.
2016-12-04 14:40:43 +01:00
JC Brand
69e2068241
converse-muc: Remove unused promises
...
Now that we cache disco info and not the room configuration.
2016-12-04 14:40:40 +01:00
JC Brand
81879bc070
converse-muc: Cache the room disco information
...
Instead of the room configuration.
This is because non-owners have access to the former, but not the latter.
2016-12-04 14:40:28 +01:00
JC Brand
0f4efac084
converse-muc: Docstrings.
2016-12-04 14:40:25 +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
6379676cff
converse-muc: Rename _transform
to getWrappedChatBox
.
2016-12-04 14:40:13 +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
a3bc7a18e5
Fixes #735 . Querying by attribute returns empty list
2016-11-30 18:47:29 +01:00
JC Brand
6abd805b52
Call trimChats immediately, not only after the element is visible
...
Since the element will already be taking up space (due to the
`opacity:0` property being used, instead of `display:none`).
2016-11-30 11:21:19 +01:00