JC Brand
34b8cd2ee6
Prevent user from adding themselves as contact
2019-03-28 15:36:08 +01:00
JC Brand
cc865de0f0
Add new config setting autocomplete_add_contact
...
Determines whether search suggestions are shown in the "Add Contact" modal.
2019-03-28 14:34:12 +01:00
JC Brand
42128e051d
Regenerate headless build
2019-03-28 12:43:34 +01:00
JC Brand
b726a2353c
Remove Awesomeplete in favor of _converse.AutoComplete
2019-03-28 12:43:34 +01:00
JC Brand
8d385487c9
Remove unused element attributes
2019-03-28 12:35:19 +01:00
JC Brand
75ae76ad93
Use _converse.AutoComplete
in "Add Contact" modal
2019-03-28 10:47:14 +01:00
JC Brand
616731b323
Don't show MUC domain if locked_muc_domain
is set to 'hidden'
2019-03-27 13:13:07 +01:00
JC Brand
03f9eb95da
Fixes #1467 . Fix rendering of URLs enclosed with sharp brackets
...
such as <https://example.org >
2019-03-27 11:24:55 +01:00
JC Brand
18ad34e194
Show emoji shortname in tooltip
2019-03-27 08:41:32 +01:00
JC Brand
6cbdaa0f4f
Bugfix. Bookmarks list didn't remember toggle state
...
We need to wait for the state to be fetched from storage before
rendering the list.
2019-03-27 08:34:58 +01:00
JC Brand
225312694f
Two small updates
...
* Ensure that outgoing messages are also marked as single emojis
* Also set msgid to origin-id for sent groupchat messages
2019-03-26 22:03:56 +01:00
JC Brand
3ce3d661bc
Make sure required registration fields have "required" attribute
2019-03-26 14:52:26 +01:00
JC Brand
9f290dab25
New config setting locked_muc_nickname
...
When set, the "Nickname" field won't be shown in the "Add groupchat"
modal and instead the nickname will be automatically set (based on other
config settings).
2019-03-26 13:29:33 +01:00
JC Brand
32f0eb5488
Fixes #1407 . Don't allow empty value for MUC nickname
2019-03-26 13:03:42 +01:00
JC Brand
a9ce9acff2
Make sure nickname
config option takes precedence
...
above other nickname sources.
2019-03-26 11:31:11 +01:00
Guus der Kinderen
bde1b9529b
Minimized bookmarked chatboxes should not be always maximized after page reload
...
This is a fix for https://github.com/conversejs/converse.js/issues/1508
2019-03-26 11:06:32 +01:00
JC Brand
e0cb3c34bb
Bugfix. Don't extend chatbox attributes
...
when creating attributes for outgoing message.
Otherwise `id` is the same for all messages.
2019-03-25 23:04:39 +01:00
Christoph Scholz
10da92ec5b
fix LMC with Conversations
2019-03-22 17:37:28 +02:00
JC Brand
fa85fc71b9
Use async/await
2019-03-22 15:49:44 +01:00
JC Brand
56bee63ed1
Start documenting events with JSDoc
2019-03-22 15:21:51 +01:00
JC Brand
27557d6a04
Document _converse.ChatBox.prototype.sendMessage
as an API method
...
Until now, we've only been explicitly documenting the `_converse.api`
namespace and only considered the methods under it as forming the API
contract (which determines how we do semver releases).
It appears as if we've reached a point where trying to keep everything
under the `_converse.api` namespace no longer makes sense. Certain
methods are applicable to particular models and trying to shoehorn them
into the `_converse.api` namespace seems clunky and non-intuitive.
I've therefore decided to slightly refactor `sendMessage` to let it take
two simple parameters and to document it with JSDoc so that it's
presented as an API method, albeit only available on a chat model.
updates #1496
updates #1504
2019-03-21 21:03:02 +01:00
JC Brand
675692df74
Use _converse.api.send
to forward messages
2019-03-21 20:54:23 +01:00
JC Brand
d87551328d
Upgrade to Strophe 1.3.2
2019-03-21 07:28:37 +01:00
Christoph Scholz
0957b7086f
Don't prompt for reason if auto_join_on_invite
2019-03-19 22:26:42 +02:00
JC Brand
4c50ac23e7
Add Jed as dependency of @converse/headless
...
fixes #1352
2019-03-15 15:49:12 +01:00
JC Brand
c0f3096216
Move MAM view overrides and view-based code out of @converse/headless
...
updates #1352
2019-03-15 15:49:12 +01:00
JC Brand
11c1b01692
Add converse-headless.js dist file and recipes
...
updates #1352
2019-03-15 10:24:39 +01:00
JC Brand
d919e81216
Set up XML logging before emitting connectionInitialized
2019-03-15 10:24:15 +01:00
JC Brand
5b4ce87a4d
Don't send out receipts or markers for MAM messages
...
Eventually we need to add better support for receipts and markers of MAM
messages.
We'll need to do the following:
* First check whether the MAM page already contains the receipts or markers, to avoid duplication
* Only ever in catchup mode
* Only after full catchup to ensure that the receipt is not in a different page than the message
2019-03-12 13:02:10 +01:00
Meitar M
76bff83ca3
Allow http:
image URLs if Converse.js is loaded on an insecure origin.
...
Currently, in order for Converse.js to recognize a pasted URL as an
image, it must be an URL whose protocol is `https:` (`https` in the
URI.js library's notation). This is sensible, but means that any
non-HTTPS image URL is not recognized as a valid URL (and thus will not
be rendered inline, even if `show_images_inline` is set to `true`).
It is important to always check for HTTPS URLs when in a secure context
(i.e., the initial page load was requested via HTTPS) in order to ensure
that non-secured content does not mix with secured content. However, the
inverse is not true: if the original page was loaded over HTTP, then
enforcing HTTPS for images adds arguably no meaningful protection while
also breaking the `show_images_inline` feature for the edge cases where
Converse.js is deployed without HTTPS and a user pastes an HTTP URL.
This patch changes the behavior of the `isImageURL` method such that the
requirement for the pasted URL's protocol to be `https:` is enforced
only when the `window.location.protocol` itself is also `https:`. By
doing this, we ensure that secure origins (i.e., when Converse.js is
loaded over HTTPS initially) are still secured and cannot have non-HTTPS
content introduced to the page via a pasted non-HTTPS URL, however it
also allows non-HTTPS origins to render both HTTP and HTTPS image URLs.
2019-03-09 14:15:22 +02:00
Christoph Scholz
ed9d2a2526
make it configurable whether to respect autojoin
2019-03-09 14:10:40 +02:00
JC Brand
143d44c3f6
Avoid horizontal scrolling on the fullscreen login page
2019-03-07 17:47:30 +01:00
JC Brand
ebd1797991
Call save
only once when updating a cached message
2019-03-07 17:38:07 +01:00
Axel Viala
b51d98d6d1
Fix #1327 : Refusing url and email as mentions
...
Before the function `extractReference` in
`/src/headless/converse-muc.js` matched url and email.
Fix: https://github.com/conversejs/converse.js/issues/1327
2019-03-07 16:53:27 +01:00
JC Brand
33600eeece
No need for a separate archive_id
value.
...
With MAM2 we can just use stanza-id
2019-03-07 16:45:00 +01:00
JC Brand
be6a5d9c37
Reuse XEP-359 unique and stable stanza ids for Message id
.
...
This helps us to avoid duplicates by relying on the fact that Backbone
models have unique ids.
2019-03-07 08:56:17 +01:00
Holger Weiss
a15aec3519
Assume "text-single" as default form field type
...
As per XEP-0004, the default "type" of data form fields is
"text-single", so a missing "type" attribute should not be treated
differently.
This fixes handling of CAPTCHAs offered by ejabberd.
2019-03-06 15:08:41 +01:00
Christoph Scholz
37800d92d3
allow drag & drop also in MUCs
2019-03-05 18:21:07 +01:00
JC Brand
0ebfc3fce8
Let converse-autocomplete also be triggered with backspace
2019-03-05 17:59:22 +01:00
JC Brand
7910447cf6
Use ev.key
instead of ev.keyCode
...
Removes the need for maintaining a map of keycodes to keys
2019-03-05 17:59:22 +01:00
JC Brand
f8e31a7b49
Update converse-autocomplete to make it more flexible
...
* Accepts other triggers besides tab or @
* More finegrained control over whether the triggering char is
included in the returned value or not.
2019-03-05 17:59:22 +01:00
Emmanuel Gil Peyrot
3aa9ee1ba0
Replace http: with https: in xmpp.org links
2019-03-04 17:49:44 +01:00
Emmanuel Gil Peyrot
b7ae9f212c
Replace http: with https: in conversejs.org links
2019-03-04 17:47:45 +01:00
JC Brand
b15ebdde40
Update to Backbone 1.4.0 and use fork of Backbone.NativeView
...
with `_setElement` fix.
See https://github.com/akre54/Backbone.NativeView/pull/29
2019-03-01 11:56:22 +01:00
JC Brand
310b2c723b
Fixes #1149
...
With xhr_user_search_url, contact requests are not being sent out
2019-03-01 11:56:22 +01:00
JC Brand
d4fbdf5629
Fixes #1213 . Switch roster filter input and icons
2019-03-01 11:56:22 +01:00
JC Brand
c26dde34f9
Allow setting of debug mode via URL with /#converse?debug=true
2019-02-27 16:28:30 +01:00
JC Brand
61a0e1bb16
New config setting show_client_info
...
Determines whether we show the icon for opening the client's "About" modal.
2019-02-27 14:42:27 +01:00
JC Brand
49da581d14
Fixes #1400 . When chat message is only an emoji, enlarge it
2019-02-27 10:34:47 +01:00
JC Brand
519bd54acb
Fixes #1457 . Wrong tooltip shown for "unbookmark" icon
2019-02-26 12:08:48 +01:00
JC Brand
d3a4555165
Re-add support for muc_domain
and add locked_muc_domain
.
...
updates #1373
2019-02-26 11:58:01 +01:00
JC Brand
2ddd918f6a
Fixes #1437 . List of groupchats doesn't scroll
2019-02-26 11:57:36 +01:00
JC Brand
59c43a23f0
Two changes, see below
...
* Add new test helper to create contacts via IQ exchange
* Use roster nickname to set message fullname
2019-02-24 20:27:41 +01:00
JC Brand
0ee08ee622
Use async/await for enterRoom
2019-02-22 23:14:35 +01:00
JC Brand
9b0e23dcc6
Ensure new contact is attached to existing chatbox
...
When a new contact is added, check if we already have a chatbox open for it,
and if so attach it to the chatbox.
2019-02-22 23:05:03 +01:00
JC Brand
bfaa7e47f2
Add roomviews.get API method
2019-02-22 21:44:03 +01:00
JC Brand
0fc5112000
Found one more occurance of the word room
2019-02-22 21:44:03 +01:00
JC Brand
5afb3051cc
New release v4.1.2
2019-02-22 16:49:45 +01:00
JC Brand
a8e05dae36
Fall back to chatbox JID if the stanza has no from
2019-02-21 09:21:18 +01:00
JC Brand
f123f483ae
Fixes #1406
2019-02-21 09:19:02 +01:00
JC Brand
ce2ae87df2
Bugfix. Open groupchats not shown when logging in after disconnection
...
* Replace `tearDown` overrides with event handlers.
* Move presence listeners to `connected` event handler, otherwise they
don't get called when logging in again after disconnection.
* Add `clearSession` listeners to clean up upon disconnection.
* Use `Promise.all` instead of listening for multiple events.
2019-02-20 23:08:27 +01:00
JC Brand
253958ed93
Prevent duplicate messages by comparing MAM archive id to XEP-0359 stanza ids
2019-02-19 23:08:29 +01:00
JC Brand
4463b44773
Use "XMPP address" instead of "XMPP username"
2019-02-19 15:00:38 +01:00
JC Brand
e389d77107
New release 4.1.1
2019-02-18 20:40:55 +01:00
André Berenguel
8dcb327ead
Update contact nickname when receive a roster push
2019-02-18 20:23:20 +01:00
JC Brand
c026dc8a86
New copyright year
2019-02-18 20:23:18 +01:00
JC Brand
9233087548
Don't hash web storage ids.
...
Makes debugging more difficult and uses up extra CPU cycles for no real security benefit.
2019-02-18 20:23:18 +01:00
JC Brand
af0093bd39
Bugfix: MUC invite form not shown
2019-02-18 15:42:56 +01:00
JC Brand
d830bc1250
Also check for duplicates in one-on-one messages
2019-02-14 15:17:49 +01:00
JC Brand
d08f738656
Bugfix: Restore textarea size after sending message
2019-02-14 13:21:26 +01:00
JC Brand
7e34a462c1
Add support for handling multiple stanza-id
elements
2019-02-14 12:13:07 +01:00
JC Brand
8d00294681
Use origin-id
to check for reflected messages.
...
Also, store the returned `stanza-id` on the message.
2019-02-14 11:33:28 +01:00
JC Brand
6eb05be4be
XEP-0359: Better usage of stanza-id
to check for dupes
2019-02-13 22:14:58 +01:00
JC Brand
5b25d5daaa
Don't send markers to someone not on your roster
...
Updates #324
2019-02-13 19:32:02 +01:00
JC Brand
370c4c84d9
Use async/await instead of explicit promises
2019-02-13 15:49:51 +01:00
JC Brand
4c83a23382
Revert "Reject the waitUntilFeaturesDiscovered
promise if query failed"
...
This reverts commit 01f0a65209
.
Updates #1410
2019-02-13 15:44:17 +01:00
JC Brand
2c9c11e971
onMessage
improvements.
...
Don't check for older messages with same msgid
we can't rely on a message's `id` attribute being unique.
Also, remove `createMessage` in favour of calling `messages.create` directly.
2019-02-13 15:24:02 +01:00
JC Brand
0169d86b11
Re-add check for allow_non_roster_messaging
2019-02-13 15:21:41 +01:00
JC Brand
dfe9d301c6
Test that roster groups are fetched before contacts
...
updates #1405
2019-02-13 11:20:49 +01:00
laszlovl
b172861d2c
Dont run fetchRosterContacts async, to prevent processing presence before contacts are created
...
Fixes #1405
2019-02-13 09:13:45 +01:00
JC Brand
4a5603ab2e
More specific selector for markers and another test
...
Updates #1442
2019-02-13 08:58:27 +01:00
JC Brand
dbcf6002ff
Fixes #1442
2019-02-12 19:10:46 +01:00
JC Brand
9f5031c278
Make converse.initialize
an async
function
...
- Combine all test init functions into `initConverse`
- Use `async` functions in more tests
- Replace `var` with `let` and `const` in more tests
- New utils method `toStanza` which converts a string to a Node
2019-02-12 15:34:50 +01:00
JC Brand
7100681496
Use devDependencies consistently
...
'dependencies' in package.json get installed as well when installing
converse.js or @converse/headless in a 3rd party project, which is
unnecessary.
2019-02-11 19:34:21 +01:00
JC Brand
aa64df35ee
converse-core is not a plugin
2019-02-11 14:45:16 +01:00
Johan Oudinet
a7386200f7
Makefile: Simplify sed commands
...
And fix an extra space added by mistake by the sed command on
_converse.VERSION_NAME in converse-core.js.
2019-02-11 04:45:35 -07:00
JC Brand
a1a381428c
Add converse-chatboxviews as dependency
2019-02-08 15:37:47 -07:00
JC Brand
abe21dce66
Include origin-id
in outgoing messages
2019-02-08 15:34:16 -07:00
laszlovl
590d8769a9
Prevent duplicate messages on MUC join
...
Fixes #1414
2019-02-08 15:32:21 -07:00
JC Brand
004519931c
Upgrade babel and lodash
2019-02-05 13:02:36 -07:00
Christoph Scholz
5e1f5785f9
fix moderator commands that change affiliation
2019-02-05 12:47:53 -07:00
JC Brand
e1f8d53c46
Initial support for chat markers. Updates #324
2019-02-01 15:05:13 +01:00
JC Brand
4c964c56c0
Filter out undefined
2019-02-01 15:05:13 +01:00
JC Brand
1ca7d34c25
Ignore (and destroy) archived/delayed messages with no body to show
2019-01-31 16:11:17 +01:00
Christoph Scholz
b667eae1c8
muc moderator commands can be disabled selectively
2019-01-30 03:42:12 +01:00
JC Brand
10f629310e
Need to declare muc_show_join_leave
as setting
2019-01-29 05:50:43 +01:00
Holger Weiss
af091faf33
Resurrect muc_show_join_leave option
...
The option got lost in commit 9528d81c00
.
Fixes #1263
2019-01-29 05:45:35 +01:00
JC Brand
4150a3a70b
Add Esperanto as supported language
2019-01-29 05:40:34 +01:00
JC Brand
3cbc99a3f2
Roster fixes related to reconnecting
...
Avoid `An 'url' property must be specified` error by properly clearing
presence data upon teardown and then resetting the browserStorage upon
reconnection.
Store contact resources in a Backbone collection
2019-01-28 13:30:47 +01:00
JC Brand
4e9e532a06
Use async/await in populateRoster
2019-01-28 13:27:25 +01:00
JC Brand
374260242c
Variable interpolation bugfix
2019-01-28 13:27:25 +01:00
JC Brand
d97deaea80
Fixes #1369
...
* Add test and changelog entry
* Also show message subject if available
2019-01-28 13:27:25 +01:00
JC Brand
3c0e3d3fab
Refactor out createMessage
.
...
Changes:
* Avoids leaky abstraction of MUC code into converse-chatboxes
* Avoid creating unnecessary message objects (e.g. without <body)
* Add fix for #1369 .
* Rename spec/chatroom.js to spec/muc.js
2019-01-28 13:27:25 +01:00
JC Brand
7753177ca9
Remove unnecessary aliases from webpack
2019-01-25 07:32:50 +01:00
Emmanuel Gil Peyrot
9702e9dee3
Add ARIA live region on chat-content
...
This asks screen readers to read every message received, and is
mandatory for blind users to get notified of new messages.
2019-01-23 14:01:27 +01:00
Christoph Scholz
9eee13e192
fix direct invite for membersonly room
2019-01-22 10:41:59 +01:00
Christoph Scholz
84be0fb9f7
new config option "roomconfig_whitelist"
2019-01-12 21:51:47 +01:00
JC Brand
a2f42d27a2
New release 4.1.0
2019-01-11 18:49:37 +01:00
JC Brand
79990f7e01
Don't unnecessarily set height on textarea
2019-01-11 18:38:09 +01:00
JC Brand
4fe2b23d9c
Modernize some roster tests
...
By ditching jquery and using async/await
2019-01-11 17:40:52 +01:00
Lynesth
df7d663b1d
Force avatar refetch if new hash received
...
Fixes #1334
2019-01-11 17:39:49 +01:00
Lynesth
7e370c1b81
Fix send_chat_state_notifications option for MUCs
...
Fixes half of #1337 .
2019-01-11 17:32:23 +01:00
JC Brand
dc07440de8
Bugfix. Don't create chats for messages without body
2019-01-10 21:47:50 +01:00
JC Brand
1984bdd8e1
Remove row
class.
...
Causes the register form to overflow the parent bounds in overlay view
2019-01-10 21:17:05 +01:00
JC Brand
1eb00d3e5d
CSS/HTML: Nicer styling of branding on the login page
2019-01-10 21:15:01 +01:00
JC Brand
58c29ea26b
Bugfix. Make sure to refresh
...
Otherwise we get an empty collection of features (due to features being
queried for a non-existent MUC)
2019-01-10 13:22:15 +01:00
JC Brand
01f0a65209
Reject the waitUntilFeaturesDiscovered
promise if query failed
...
No code relies on this currently, but it's seems the right thing to do
2019-01-10 13:21:06 +01:00
JC Brand
96f38150f9
Use async/await and don't swallow errors.
...
Also, handle the error in `getRoomFeatures`
2019-01-10 13:16:08 +01:00
JC Brand
a4d608dcdf
Save room features in separate model
...
As a namespacing mechanism to avoid clashes.
Fixes bug where two chats are shown as currently being active in the rooms list.
2019-01-10 12:15:59 +01:00
JC Brand
2fb435b2e0
Don't assume id of "current" for bookmarks' PEP node
...
Causes problems with some versions of Ejabberd which use a different id.
Will be fixed in upcoming versions.
2019-01-08 15:12:02 +01:00
JC Brand
8c708b5fe5
Focus textarea when switching between rooms
2019-01-04 05:48:23 +01:00
JC Brand
d92a742877
Fixes #1390
2019-01-04 05:43:59 +01:00
JC Brand
0c1363c103
The hide_muc_server
option no longer exists
2019-01-03 14:12:36 +01:00
JC Brand
a962fc0a24
Don't unnecessarily check for #publish-options
2019-01-03 13:49:39 +01:00
Christoph Scholz
eacd7fd933
implement /destroy command in muc
2019-01-03 13:09:13 +01:00
JC Brand
7d74319efd
Fixes #1356
2019-01-03 11:45:52 +01:00
JC Brand
aa274f41c2
Make background darker and add new logo
2019-01-02 22:54:04 +01:00
JC Brand
debb8f0e4f
Remove .icon-converse styles
2019-01-01 12:30:54 +01:00
JC Brand
a31c2d40f2
Remove icomoon fonts and use Bauman and the new logo for branding
2019-01-01 11:12:23 +01:00
JC Brand
98fee37a41
Destroy devicelist if we can't fetch the devices for it.
...
Otherwise Converse will try to fetch the devices again and again upon
page refresh.
2018-12-21 06:29:22 +01:00
JC Brand
45ed506551
Don't hardcode devices storage to session storage.
...
The devicelists are not stored in session storage, so we end up with
fetching all the devices per stored devicelist with every new browser
session.
2018-12-21 06:29:22 +01:00
JC Brand
e6c66cfebd
Ability to republish if publish-options precondition not met
2018-12-21 06:29:22 +01:00
JC Brand
bcb3bcaf03
OMEMO can only be supported once it's been initialized
...
updates #1180
2018-12-21 06:29:21 +01:00
JC Brand
a3830e9a7a
Use async/await
2018-12-21 06:29:21 +01:00
JC Brand
be1be3534c
Don't render the lock icon when the MUC doesn't qualify
...
Updates #1180
2018-12-21 06:29:21 +01:00
JC Brand
9aca32ad97
Handle errors when sending encrypted groupchat messages
...
updates #1180
2018-12-21 06:29:21 +01:00
JC Brand
d051085626
Only clear textarea once message was sent
...
This now requires `sendMessage` to return a boolean to indicate success.
Disable the textarea while message is being sent.
2018-12-21 05:58:22 +01:00
JC Brand
85dab7367b
Use pubsub#access_model
to publish keys and devices publically
2018-12-21 04:35:28 +01:00
JC Brand
0b25800392
Add converse-pubsub.js
2018-12-20 21:51:16 +01:00
JC Brand
9c05ca9a09
Add test for sending/receiving MUC OMEMO messages
...
While adding support for MUCs, I refactored converse-omemo somewhat to move functions
out of `overrides` and to use async/await
Updates #1180
2018-12-20 21:51:16 +01:00
JC Brand
f64fdb8088
Render the OMEMO lock icon in MUC toolbars as well
...
updates #1180
2018-12-20 21:51:16 +01:00
JC Brand
c8d78d744b
Fix typo and formatting in user-facing strings
2018-12-19 05:50:06 +01:00
JC Brand
4a65e39804
Set default to avoid includes
being called on undefined
2018-12-17 15:29:21 +01:00
Christoph Scholz
d2d64952a0
set store hint on receipts and type='chat'
2018-12-17 15:20:21 +01:00
JC Brand
38d7723bee
Don't call trimChats when not in overlayed mode
2018-12-17 15:18:36 +01:00
JC Brand
82bfe66cac
Simplify setting of MUC features.
...
We don't need an event handler that sets the "opposite" features to
false if we set all features properly in getFeatures
2018-12-17 15:18:20 +01:00
JC Brand
94bcba741b
Handle non-elements, like text nodes
2018-12-17 15:17:53 +01:00
JC Brand
9c812157ee
Use async/await
2018-12-17 15:16:43 +01:00
JC Brand
aed1c60e86
Still trying to fix travis issue.
...
Stop listening on the _converse obj sooner
2018-12-17 12:09:56 +01:00
JC Brand
6c3990ac86
Trying to fix trimChats is not a function
on Travis
2018-12-17 11:50:56 +01:00