JC Brand
c3dac272f8
Replace moment with DayJS
2019-05-06 14:27:18 +02:00
JC Brand
9528276be2
Use native Date methods instead of moment
...
- Use native `getTime` method instead of moment's `valueOf`
- Use toISOString() instead of moment().format()
This makes the code timezone independent since we're now globally using UTC.
2019-05-06 10:28:03 +02:00
JC Brand
15b2273631
_converse.api.archive.query
now returns a Promise
...
instead of accepting a callback functions.
2019-05-03 19:47:49 +02:00
JC Brand
52ea8d5ab6
Fixes #1550
...
Legitimate carbons messages blocked due to erroneous forgery check
2019-05-03 14:11:29 +02:00
JC Brand
b9e5658112
Message deduplication bugfixes and improvements.
...
- Add a new method to check for dupes based on the message text.
- When checking for dupes based on origin_id, no need to restrict to
only our own.
2019-04-27 18:09:58 +02:00
JC Brand
dedede56f8
Rename muc_disable_moderator_commands
to muc_disable_slash_commands
...
Since those commands aren't only about moderation
2019-04-25 11:32:07 +02:00
JC Brand
c72dc74022
In the menu, only show allowed commands
2019-04-25 10:48:33 +02:00
JC Brand
d311e14013
Render MUC forms with Backbone.VDOMView
...
That way we don't lose the user's input values, we avoid flashing and we
avoid unnecessary rendering.
In the process, fixed an annoying issue where Chrome auto-completes
what it thinks is the username into the "Language Tag" field of the MUC
config form.
Instead we tell Chrome that the MUC JID is the username, thereby also
letting it save the password to to that JID.
2019-04-24 14:51:12 +02:00
JC Brand
ad8d4c90b3
Fix failing test
2019-04-22 21:07:05 +02:00
JC Brand
725a382e3b
Refactor initialization and defaults for chat boxes
...
- Let box_id start with char for valid HTML.
- No need to use SHA1 for box id
- No need for the user_id attribute.
- Set nickname when we set the roster contact.
Also...
- _converse.api.contacts.get is now async
- _converse.api.chats.create is now async
2019-04-18 16:14:51 +02:00
JC Brand
b593b8deb6
Fixes #1533
...
Users can only be muted in moderated rooms
2019-04-11 23:10:57 +02:00
JC Brand
f84c201437
Hide the textarea when a user is muted in a groupchat
2019-04-11 01:40:16 +02:00
JC Brand
aa90ebd7f0
Bugfix. Don't delete JID or resource...
...
when an affiliation change presence is received.
2019-04-11 01:39:06 +02:00
JC Brand
234556793f
Provide a more user-friendly error message to muted users
2019-04-10 22:03:00 +02:00
JC Brand
a75c118a2c
Prioritize roster nickname as message and chatbox display name
...
Set reference to roster contact on the message and chatbox object and
listen for changes to the nickname.
Currently, because chat boxes are fetched and initialized before the
roster, messages and chats are repainted with the correct display name
only later, causing a "flash" effect.
Ideally we would only initialize the chat boxes after the roster
contacts have been fetched, but this is currently not easily possible
because we need the control box to render before everything else.
2019-04-09 17:20:41 +02:00
JC Brand
5532a9ec63
Remove jquery from tests
2019-04-08 21:45:09 +02:00
JC Brand
21ca33ec29
Bugfix. Create device based on prekey message for from
JID
...
Otherwise for sent carbons we created it for the wrong user.
2019-03-31 19:36:04 +02:00
JC Brand
dd0c0b6c56
Add a new active
flag for OMEMO devices.
...
Instead of deleting devices that are not returned in the device list,
set an `active` flag, so that we don't remove the trust setting.
Set deactivated devices to `active` when a receive an OMEMO message from
it.
Also, set omemo_supported to true when we've succesfully decrypted a
message.
2019-03-31 11:33:31 +02:00
JC Brand
1dfdb36d20
Don't filter out own device when sending OMEMO message
2019-03-30 13:55:25 +01:00
JC Brand
63a0c63927
Fix bugs with moving events
2019-03-29 21:56:56 +01:00
JC Brand
f897703565
Rename emit
to trigger
for consistency with Backbone.Events
2019-03-29 21:56:56 +01:00
JC Brand
7481643453
Validation error when trying to add an already existing contact
2019-03-28 15:54:47 +01:00
JC Brand
34b8cd2ee6
Prevent user from adding themselves as contact
2019-03-28 15:36:08 +01:00
JC Brand
ab76a905f9
Remove more traces of awesomplete
2019-03-28 15:07:06 +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
b726a2353c
Remove Awesomeplete in favor of _converse.AutoComplete
2019-03-28 12:43:34 +01:00
JC Brand
75ae76ad93
Use _converse.AutoComplete
in "Add Contact" modal
2019-03-28 10:47:14 +01:00
JC Brand
fb89148b08
Add tests for tricky URLs
2019-03-27 11:39:52 +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
cbc343115e
Remove jquery from spec/messages.js
2019-03-27 09:47:59 +01:00
JC Brand
298300e890
Add test for muc_respect_autojoin
2019-03-27 08:34:52 +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
JC Brand
d7db4df468
Remove jquery from spec/chatbox.js
2019-03-26 11:06:33 +01:00
JC Brand
dbccc08cf6
Trying to avoid intermittent failure on Travis
2019-03-22 15:53:03 +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
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
49d04bef83
Remove check that passes locally but fails on Travis
2019-03-05 18:11:14 +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
Emmanuel Gil Peyrot
3aa9ee1ba0
Replace http: with https: in xmpp.org links
2019-03-04 17:49:44 +01:00
JC Brand
7dd21880ed
Fix failing tests
...
Don't assume order of CSN messages, since `getLastMessageDate` ignores
CSN messages, they sometimes get add above one another.
2019-03-01 12:58:49 +01:00
JC Brand
69632f243a
Remove jQuery from spec/controlbox.js
2019-03-01 11:56:22 +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
36b912f052
Reorganize tests.
...
* CSN tests don't belong under "Groupchats" section tests.
* Move modal tests to their own grouping
2019-02-25 18:57:09 +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
3e4f4e9436
Use the API in tests
2019-02-22 22:33:34 +01:00
JC Brand
0fc5112000
Found one more occurance of the word room
2019-02-22 21:44:03 +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
3a2dab9e8c
Debounce showing or hiding rooms list
2019-02-18 20:23:20 +01:00
JC Brand
47936dbfd4
Fix failing test for #1438
2019-02-18 20:23:20 +01:00
André Berenguel
8dcb327ead
Update contact nickname when receive a roster push
2019-02-18 20:23:20 +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
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
3fe6efc2cf
Fix failing tests
2019-02-13 15:25:23 +01:00
JC Brand
dfe9d301c6
Test that roster groups are fetched before contacts
...
updates #1405
2019-02-13 11:20:49 +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
abe21dce66
Include origin-id
in outgoing messages
2019-02-08 15:34:16 -07:00
JC Brand
c023bd1d47
Fix test failures on Chrome 72
2019-02-01 21:37:29 +01:00
JC Brand
e1f8d53c46
Initial support for chat markers. Updates #324
2019-02-01 15:05:13 +01:00
Christoph Scholz
b667eae1c8
muc moderator commands can be disabled selectively
2019-01-30 03:42:12 +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
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
4fe2b23d9c
Modernize some roster tests
...
By ditching jquery and using async/await
2019-01-11 17:40:52 +01:00
JC Brand
dc07440de8
Bugfix. Don't create chats for messages without body
2019-01-10 21:47:50 +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
7750194522
Bump timeout to try and appease travis
2019-01-04 08:19:58 +01:00
JC Brand
cdd0382241
Increase wait timeouts
2019-01-03 13:19:54 +01:00
Christoph Scholz
eacd7fd933
implement /destroy command in muc
2019-01-03 13:09:13 +01:00
JC Brand
aa3cbaa3c3
Add logging to debug issue on travis
2019-01-03 10:57:14 +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
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
d75e47db6f
Also test that MUC title changes automatically
2018-12-18 11:21:36 +01:00
JC Brand
078281d0db
Add a test for configuring a MUC
2018-12-17 15:18:36 +01:00
JC Brand
9c812157ee
Use async/await
2018-12-17 15:16:43 +01:00
JC Brand
7ec6a0576e
Fixes #1379 No longer an indication of unread messages in MUC
2018-12-16 12:30:41 +01:00
JC Brand
a389f52adb
Fixes #1353 Don't expect delivery receipts to have type chat
2018-12-16 11:22:13 +01:00
JC Brand
b7c01993b7
User-facing term is "groupchat", not "room"
2018-12-16 11:22:12 +01:00
Christoph Scholz
216a684904
prevent message delivery receipts for carbons and own
2018-12-15 20:04:31 +01:00
JC Brand
935ca52b03
Test that open groupchats are shown with their bookmarked names
2018-12-15 19:31:19 +01:00
JC Brand
d5485d09ae
Always render the OMEMO lock icon
...
When OMEMO isn't possible, render it as grey.
This change makes OMEMO for MUCs easier, since there I anticipate that
OMEMO support might change dynamically based on who enters/exits the
room.
updates #1180
2018-12-14 11:25:57 +01:00
JC Brand
a8ed46f672
Use async/await in spec
2018-12-12 17:40:14 +01:00