JC Brand
7b11d85503
Add support for XEP-0198 Stream Management
...
- New plugin `converse-smacks`
- New config option `enable_smacks`
- Rename session cache id from `converse.bosh-session` to `converse.session`
- Refactor logout and login as consistently used api methods
- Refactor session cache to store per JID
Fixes #316
2019-06-03 09:43:12 +02:00
JC Brand
e362776b9f
converse-muc-views: Don't prematurely insert MUC into the DOM
2019-05-31 09:14:42 +02:00
JC Brand
aece956281
Refactor strophe usage
...
- Upgrade to latest commit in Strophe
- Import individual Strophe dependencies
- Replace strophe plugins with code in Converse
2019-05-29 18:27:34 +02:00
JC Brand
7a18f59f8f
Simplify rendering of trimmed chats
...
Also fix issue where trimmed headline chatboxes don't show the proper
color
2019-05-29 13:28:45 +02:00
JC Brand
da713f3162
Improve chatroom name rendering
...
- Take locked_muc_domain into consideration in chatroom display name
- Use getDisplayName when rendering the heading name
- Give preference to bookmark name if it exists
2019-05-29 13:27:41 +02:00
JC Brand
e053b97043
Set room `connection_status' to DISCONNECTED...
...
when receiving an `unavailable` presence for ourselves.
2019-05-28 14:30:55 +02:00
JC Brand
fcc9e8c31b
Also allow @
in moderator commands
2019-05-27 12:27:24 +02:00
JC Brand
be0274f1f0
Fixes #1586 . Not possible to kick someone with space in nick
...
Refactored moderation by moving certain methods to the model and
consolidating setting of roles and affiliations into new methods.
2019-05-27 12:27:12 +02:00
JC Brand
5e6c2b9982
Move role modifying method to the model
...
and also first check whether we have an occupant with that nickname.
Since roles are session based, it doesn't make any sense to try to
modify the role for a user not in the room.
2019-05-27 12:27:03 +02:00
JC Brand
e1762a1bb5
Rename key event handler methods to avoid confusion
2019-05-26 11:09:43 +02:00
JC Brand
f387c947f5
Allow the full app to be embedded.
...
- new config option `singleton`.
- new plugin `converse-uniview`
- removed `converse-embedded`.
- various CSS changes, to properly render an embedded full app
- don't re-open cached and non-autojoined chats in singleton mode
The goal here is to extend the `embedded` `view_mode` so that the full app can
also be embedded, not just a single MUC or private chat.
To do this, we'll need to differentiate between multi and singleton chat apps.
* A singleton chat app contains only a single chat.
* A multi-chat app can contain zero or more chats
So we introduce a new config option, `singleton`, which when used with
`view_mode` set to `embedded` will determine whether a single chat or the full
app is embedded.
Similarly, in `overlayed`, `fullscreen` and `mobile` view modes, `singleton`
set to true will allow only one chat within the parameters of that view mode.
We're appropriating the word `singleton` and introducing the concepts of
`uniview` and `multiview` (see a785ca8) to cover what was
previously meant with `singleton`.
updates #1297
2019-05-24 20:39:19 +02:00
JC Brand
463bc02dd5
Cheat to get two failing test to pass on Travis
...
Since recently these tests have been failing consistently on Travis,
even though they're passing locally.
Ran out of time debugging the issue, so disabling some stuff for now.
2019-05-24 09:06:24 +02:00
JC Brand
f0a680e492
Remove animate
config settings.
...
Also update tests
2019-05-23 22:02:08 +02:00
JC Brand
99f2cecbed
Trying to fix failng test on Travis
2019-05-23 15:06:53 +02:00
JC Brand
77734d5fc9
Improve test to also check stanza traffic
2019-05-23 14:44:10 +02:00
JC Brand
429c320a79
Also clear MUC occupants upon reconnection
2019-05-22 19:27:53 +02:00
JC Brand
79b6a557ed
Use async/await and hopefully fix some failing Travis tests
2019-05-22 16:13:15 +02:00
JC Brand
271c79eae8
Refactor message corrections
...
- Save date for older message versions and display it in the modal
- Properly handle the correction being received *before* the corrected message
2019-05-22 13:26:46 +02:00
JC Brand
9cb9151265
Add test to check that #1577 is resolved
2019-05-21 12:05:47 +02:00
JC Brand
d1d81bf933
Bugfix. Remove condition before fetching members
2019-05-21 11:33:01 +02:00
JC Brand
a95bb5b26a
Refactor tests so that IQ_ids always contains only XML stanzas
2019-05-20 14:37:29 +02:00
JC Brand
7e515dd4b1
Move all MUC joining logic to the model
2019-05-20 10:06:37 +02:00
JC Brand
39363d495f
Fetch messages in MUC model
2019-05-20 09:25:11 +02:00
JC Brand
46fef28601
Clear messages when closing a chat
2019-05-19 22:11:37 +02:00
JC Brand
7950f7c2ac
Change muc_show_disconnection_status
to muc_show_join_leave_status
2019-05-18 06:34:29 +02:00
JC Brand
a0f1a5cfaf
Fetch chat messages in the model, not the view
2019-05-17 14:45:37 +02:00
JC Brand
94bea16cc4
Remove chatBoxOpened
event
2019-05-16 11:54:42 +02:00
JC Brand
ceb9d12957
Don't store ChatRoomOccupants on ChatRoomView
...
Helps with enforcing discipline of keeping them separate
2019-05-15 15:55:47 +02:00
JC Brand
86f3399dc0
Also trigger 'chatboxFocused' when user manually focuses
2019-05-14 16:24:16 +02:00
supun19
dd0821076d
Groupchat auto-configuration now supports list-multi fields
2019-05-14 15:28:06 +02:00
JC Brand
d0ddda8244
New config option muc_show_disconnection_status
2019-05-14 13:29:43 +02:00
JC Brand
6193a9dc80
Replace lodash methods with native ones and remove lodash.fp
2019-05-14 12:41:47 +02:00
JC Brand
ca5b6f9fde
Add class on MUC message to indicate author's role
2019-05-13 20:10:48 +02:00
JC Brand
d91a5ca6de
Remove alias for xss
. Upgrade pluggable.js to version 2.0.1
2019-05-13 18:54:00 +02:00
JC Brand
77e58bff5f
Test that MAM messages are fetched when a chatbox is opened
...
This is a precursor to also testing (and implementing) that a chat pages
through MAM results (see #1549 )
Remove unused method.
2019-05-07 10:27:51 +02:00
JC Brand
2526d80464
Change api.disco.supports
to resolve to a Boolean
...
Also add a new API method `api.disco.features.get` for the use-case
where you still want the feature object to be returned.
2019-05-07 10:27:25 +02:00
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
JC Brand
c55e25fa5f
Fix failing test
2018-12-06 15:04:18 +01:00
JC Brand
2857293ad1
Fix failing tests by waiting and slightly improve code
2018-12-06 13:10:34 +01:00
JC Brand
5f00987578
Bugfix. Pass original_stanza to isDuplicate
2018-12-06 13:10:33 +01:00
JC Brand
79bfb45639
Use async/await in MAM code and tests
2018-12-06 13:10:33 +01:00
JC Brand
118bc20478
Rename isSingleton
to isUniView
...
We distinguish between UniView and MultiView instances.
UniView means that only one chat is visible, even though there might be multiple ongoing chats.
MultiView means that multiple chats may be visible simultaneously.
2018-12-04 13:50:15 +01:00
JC Brand
714da6f0df
Wait until push services are disabled as well
2018-11-29 13:22:58 +01:00
JC Brand
36d2db78c4
Use async/await and remove jquery in some tests
2018-11-29 12:37:21 +01:00
JC Brand
4e6ac905b8
Async/await in controlbox tests
2018-11-26 12:58:06 +01:00
JC Brand
c22fe41aef
Use async/await in tests
2018-11-22 14:25:56 +01:00
JC Brand
cb3ba7bdf6
Use async/await in spec/chatbox.js
2018-11-22 09:31:00 +01:00
JC Brand
b91f488491
Use async/await
2018-11-21 13:03:32 +01:00
JC Brand
7beeada087
Don't use outerHTML
in tests, it's not consistent across browsers
2018-11-20 18:01:09 +01:00
JC Brand
c9b540289c
Use async/await
2018-11-20 18:01:09 +01:00
Christoph Scholz
267d91a4f3
don't send receipt requests in MUCs
2018-11-20 17:38:59 +01:00
JC Brand
d341c6a13b
Revert "Use getter to lazily create Strophe.Connection"
...
This reverts commit 7af73c3471
.
Doesn't look like the right approach for adding support for XEP-0156.
Work on that will continue in a branch in the meantime.
2018-11-20 17:31:53 +01:00
JC Brand
7af73c3471
Use getter to lazily create Strophe.Connection
2018-11-18 18:05:47 +01:00
JC Brand
86593dc378
Don't render http (i.e. non-TLS) resources
...
Causes "Mixed Content" TLS errors
2018-11-18 18:05:47 +01:00
JC Brand
e07bb52d2a
Use async/await
2018-11-18 18:05:46 +01:00
JC Brand
d3a684a57d
Move some functions outside of the initialize
closure
2018-11-15 23:10:40 +01:00
JC Brand
88e74975c9
Fix failing tests due to avatar changes
2018-11-14 16:37:16 +01:00
JC Brand
067d87a73e
Fix failing test
2018-11-14 15:15:29 +01:00
JC Brand
7cb889b065
Fixes #1317 Don't show errors for CSI messages
2018-11-14 14:34:23 +01:00
Christoph Scholz
12b7687a89
Implement sending presences according to XEP-0319: Last User Interaction in Presence
2018-11-13 18:39:13 +01:00
Christoph Scholz
da5ca0b585
implement XEP-0184: Message Delivery Receipts
2018-11-13 17:13:35 +01:00
JC Brand
9e33279fc2
Fix failing test and use async/await
2018-11-12 12:04:56 +01:00
Emmanuel Gil Peyrot
87c77385d8
Improve XEP-0245 support.
...
Namely:
- Only match messages which start with exactly "/me ".
- Simplify the match, checking a string instead of a complex regex.
- Always remove the first four characters in the case of a match, to not
leave an extra leading space.
2018-11-05 14:02:14 +01:00
JC Brand
9a4bceba60
Add make recipes for zip files of webfonts and locales
2018-10-29 22:11:01 +01:00
JC Brand
11a53608d9
Right Align badges of room occupants
...
fixes #1264
Also...
- hide the badges in overlayed view mode
- hide the features list in overlayed view mode
2018-10-28 23:20:29 +01:00
JC Brand
11ac846b31
Fixes #1259
2018-10-27 22:56:05 +02:00
JC Brand
53b3f2d0d6
Fix failing tests and rewrite to use async/await
2018-10-26 12:53:24 +02:00
JC Brand
c583678c86
Use _coverse.api.sendIQ
instead of _converse.connection.sendIQ
...
So that we know an event will be emitted when the stanza is sent.
2018-10-25 18:29:29 +02:00
JC Brand
6ebf6f6ecc
Fix failing test by making sure notifications are cleared
2018-10-25 08:21:38 +02:00
JC Brand
6904f9a897
Use es2015 modules instead of UMD
2018-10-23 12:25:58 +02:00
JC Brand
f2c1455762
Bump waiting time for room opened via modal in test utils
...
Convert more promise-based tests to async/await
2018-10-22 09:59:53 +02:00
JC Brand
0d3e94c60b
Minor testing changes
...
- Use async/await instead of promises.
- Use different room jids (to try and see whether this fixes heisenbugs on travis)
2018-10-22 09:40:24 +02:00
JC Brand
abd9786c0f
Fix failing test and update changelog. updates #1185
2018-10-17 22:31:21 +02:00
JC Brand
a5a600bade
Fixes #1193 Properly handle OMEMO messages without body
tag
2018-10-15 23:47:22 +02:00
JC Brand
439d13d311
Use async/await instead of promise callbacks
2018-10-15 23:18:06 +02:00
JC Brand
e181aaf99b
Make the message view's render
method async
...
So that we first render dynamic content (e.g. images) before inserting
it into the chat.
Also, add the `show_images_inline` setting (which is the cause of this
whole change).
Updated tests to handle this new change and start using async/await
instead of promise callbacks.
2018-10-15 22:19:04 +02:00
JC Brand
99c0687684
Fixes #537 Open xmpp: URIs inside Converse
2018-10-13 20:16:00 +02:00
JC Brand
2c44127932
Remove jquery from spec/chatroom.js
2018-10-13 17:47:52 +02:00
JC Brand
d77802da86
Avoid showing notification messages twice
...
For example `This groupchat is not anonymous`
2018-10-13 14:41:16 +02:00
JC Brand
15579692a9
Some work on removing jQuery from the MUC tests
2018-10-13 14:14:02 +02:00
JC Brand
7b9c97dfd3
Also squash leave/join messages
...
And fix an HTML rendering bug for info messages and nicks that contain spaces
2018-10-11 19:04:06 +02:00
JC Brand
71cc98d6f6
Reduce join/leave clutter by removing subsequent ones
...
Previously we checked only if the last message was a join message from
the same person.
Now instead we check the last n messages that are join or leave
notifications.
2018-10-11 15:59:52 +02:00
JC Brand
cf75d37587
join/leave notification fixes.
...
* Don't show leave notification twice when someone leaves, joins and then leaves again
* Add a test case for a member joining and then leaving
2018-10-11 14:05:52 +02:00
JC Brand
dffcc13dea
Fixes #1140 Add support for destroyed chatrooms
2018-10-10 22:57:12 +02:00
JC Brand
7cc59b9ef3
Check in test that headliness box is not created.
...
Updates #1221
2018-10-10 20:17:56 +02:00
Emmanuel Gil Peyrot
e9007146aa
Improve the moderated and not moderated explanations
2018-10-06 19:32:03 +02:00
JC Brand
9bc8bdf34c
Test updates after updating to use latest strophe.js
...
`toLocaleString` now returns element attributes in alphabetical order
(for better cross-browser consistency).
Also, `toLocaleString` is now used in favor of `outerHTML` because
browsers aren't consistent with one another in their output.
2018-10-03 21:11:20 +02:00
JC Brand
defe32d172
Make sure omemo tests pass on Firefox
2018-09-25 14:05:56 +02:00
JC Brand
6f7328a62f
Fix failing tests
2018-09-25 10:20:18 +02:00
JC Brand
4129c0ea3b
Fix failing test
2018-09-13 17:04:44 +02:00
JC Brand
93c956ba4b
Bugfix. Should be && not ||
2018-09-13 16:42:54 +02:00
JC Brand
cd05b89726
Fix failing tests due to MUC disco refactoring
2018-09-13 10:52:25 +02:00
JC Brand
603708a9c9
Update test openAndEnterChatRoom
to handle re-opening of rooms
...
in which case a disco query is not sent out again because we still have
it cached.
2018-09-13 09:04:21 +02:00
JC Brand
71370f5b45
Add the /register
command for registering yourself
2018-09-12 15:32:37 +02:00
JC Brand
17401cb903
Improvements to automatic nick registrations
...
Also expand and fix the associated test.
2018-09-12 12:36:25 +02:00
JC Brand
acef8feaaa
Refactoring of fetching of reserved nick
...
- Move `getDefaultNickName` to the model and rename to `getDefaultNick`
- Let `checkForReservedNick` return a promise and save `nick` once received
- Updated `openAndEnterChatRoom` to wait appropriately and remove presence-wrapper
- Update tests to wait appropriately
- Remove presence-wrapper in `getRoomFeatures`
2018-09-12 12:36:13 +02:00
JC Brand
2df9b24211
Add option to auto-register your nickname to a room
...
See https://xmpp.org/extensions/xep-0045.html#register
2018-09-12 12:36:13 +02:00
JC Brand
764686dd19
Enable push services for a MUC domain
...
As soon as a chatroom from that domain is opened and if the MUC supports it.
2018-09-11 11:29:02 +02:00
JC Brand
c8eea72831
Fix failing test.
...
Looks like Chromium strips the forward slash from `<br/>` when printing
innerHTML.
2018-09-10 16:07:06 +02:00
Martin/Geno
dbe88535f1
[BUGFIX] html br
2018-09-10 15:58:17 +02:00
JC Brand
014354d075
Fixes #986 Affiliation changes aren't displayed in the chat
2018-09-07 11:54:29 +02:00
JC Brand
27378068c0
Fixes #1064 /topic without argument sets topic to "undefined"
2018-09-07 10:21:47 +02:00
JC Brand
2acc11f776
Fixes #1158 . Fall back to bookmark JID if name is not available
2018-09-06 17:25:10 +02:00
JC Brand
f5d41db18a
Fix failing test by using the right API
2018-09-03 09:45:04 +02:00
JC Brand
866f2737da
More JSDoc docstrings for API methods
2018-09-02 23:43:39 +02:00
JC Brand
6a061b4525
Use raw
key format and not jwk
. Set correct key size.
2018-08-31 17:15:03 +02:00
JC Brand
ed9afe9afb
Only include key and not whole payload from libsignal
2018-08-31 13:57:49 +02:00
JC Brand
18c7ba4ad8
Bugfix. Need to first create bookmark
...
Otherwise we don't include it in the stanza.
So if an error occurs, remove the bookmark again.
2018-08-31 11:24:05 +02:00
JC Brand
f72ace506f
Replace the onChatBoxAdded override with event handlers
2018-08-28 15:08:38 +02:00
JC Brand
21178add98
Remove converse-otr
2018-08-27 22:09:22 +02:00
JC Brand
1dc1c1f98a
Properly generate and render fingerprints
2018-08-27 21:02:31 +02:00
JC Brand
3e7c8655ad
Add a <store>
hint to OMEMO messages.
...
updates #497
2018-08-27 16:44:19 +02:00
JC Brand
15a4bcd11e
Add method to generate missing prekeys
...
When receiving a PreKeySignalMessage, then a prekey has been chosen and
should now be removed from the list of available prekeys in the bundle,
so that a different device doesn't choose it as well.
AFAICT, libsignal removes the prekey, so it's then up to us to
regenerate it and republish our bundle.
updates #497
2018-08-27 16:43:58 +02:00
JC Brand
3d015c787f
Extract common code into helper functions
2018-08-27 10:41:54 +02:00
JC Brand
ea5144c7e5
Refactor the OMEMOStore to not duplicate prekeys
...
Before these changes, prekeys were stored in two places, one place that
converse-omemo accessed and one that libsignal accessed and when
libsignal deleted a prekey the other store wasn't updated.
Now we let the methods called by libsignal store/remove prekeys (and the
signed_prekey) in the same place as used by the code in converse-omemo.
2018-08-25 23:22:18 +02:00
JC Brand
5406e9739c
Trying to fix timing issue on Travis
2018-08-25 01:04:17 +02:00
JC Brand
9e240c5647
Increase timeouts to try and avoid timing issues on Travis
2018-08-25 00:43:05 +02:00
JC Brand
fd639e2da6
Remove the active
flag for devices.
...
Instead of setting `active` to `false`, we remove the device entirely
(unless its the current device).
Doing it this way means more fetching of bundles for devices that
disappear and then reappear from a user's devicelist.
However, there might be caching invalidation concerns with just reusing
a cached bundle for a device id that disappeared and then reappears.
Additionally this change simplifies the showing of a contact's device
fingerprints in the modal, since we don't have to take active/inactive
into consideration.
updates #497
2018-08-23 14:02:43 +02:00
JC Brand
5e9d6c3d6a
Merge branch 'master' into converse-omemo
2018-08-23 09:45:13 +02:00
JC Brand
9f8d30dde3
Create a new store, _converse.config
to store trusted
...
The `_converse.session` store gets cleared after logout, but we want the
`trusted` flag to persist after logout.
Also update the documentation no that the `storage` config option has
been removed in favor of `trusted`.
2018-08-23 09:41:39 +02:00
JC Brand
62cecbec5f
Merge branch 'master' into converse-omemo
2018-08-22 23:41:36 +02:00
JC Brand
9ed2ad631a
Store whether this is a trusted device in _converse.session
...
So that it persists across page loads. Otherwise storage falls back to
the default, causing records to be in both local- and sessionStorage.
Additionally, update singleton models to have the 'id' available as a getter.
Otherwise multiple records gets stored in browserStorage, causing random
results being returned.
2018-08-22 23:36:54 +02:00
JC Brand
fa0e7aeff5
Updated so that own device is properly created and published
...
Based on live testing. Updated tests accordingly.
2018-08-22 18:16:36 +02:00
JC Brand
3ec426e11d
Don't render OMEMO stuff in profile modal if OMEMO's not enabled
2018-08-21 18:03:34 +02:00
JC Brand
e7f211bacf
Avoid an unnecessary promise and create message as soon as possible
...
under non-OMEMO circumstances. Otherwise, when messages are fetched in
bulk via MAM, then a message referring to a previous one (e.g.
a correction) may be processed before the message being referred to has
been created.
2018-08-19 10:32:43 +02:00
JC Brand
9a7f56db7d
Fix format of stanza that queries for devices.
2018-08-19 10:09:43 +02:00
JC Brand
4ed43854bd
Bugfix. Items need to go inside the list
2018-08-18 18:25:52 +02:00
JC Brand
ca9229a906
createMessage
now returns a promise.
...
Also, fix all broken tests, mostly related to this.
2018-08-18 17:12:22 +02:00
JC Brand
b4110dc162
Merge branch 'master' into converse-omemo
2018-08-18 10:24:55 +02:00
JC Brand
41a42fe2f7
Test for mentions with spaces in them.
...
Also remove Converse from fullscreen background
2018-08-16 16:02:09 +02:00
JC Brand
2db3db9bab
Add support for editing messages containing mentions
2018-08-16 15:17:54 +02:00
JC Brand
d9c5867ff2
Check references when incrementing unread messages counter
2018-08-16 15:17:54 +02:00
JC Brand
b7eb19e225
Render mentions in a message
2018-08-16 15:17:54 +02:00
JC Brand
15df9b8605
Inlcude references in the outgoing XMPP stanza
2018-08-16 15:17:54 +02:00
JC Brand
f2b017ec89
Add method to determine references from message text
2018-08-16 15:17:53 +02:00
JC Brand
e10d9b074e
Rearrange: move non-nested tests to top of describe
2018-08-16 15:17:53 +02:00
JC Brand
324ffd5e40
Let @
trigger autocomplete with all possible options shown
2018-08-16 15:17:53 +02:00
JC Brand
cc3a158b57
Initial work on showing all options on @
2018-08-16 15:17:53 +02:00
JC Brand
13c9612a8a
Let an additional tab select the currently highlighted element
2018-08-16 15:17:53 +02:00
JC Brand
2abd1c1db1
Get selection via up/down arrow to work
2018-08-16 15:17:53 +02:00
JC Brand
86fab99c54
Expand test case and improve code.
2018-08-16 15:17:53 +02:00
JC Brand
2a593a03b7
Add a test spec for autocompletion
2018-08-16 15:17:53 +02:00
JC Brand
33cd23c529
Minor idiomatic changes
2018-08-16 15:17:53 +02:00
JC Brand
c25cc4c76b
Bugfix. Existing occupants weren't found because query was only by jid
...
Which meant that occupants were being duplicated.
updates #1146
2018-08-09 15:46:49 +02:00
JC Brand
2d05487862
More code reuse between chatboxview and chatroomview
2018-08-07 15:32:13 +02:00
JC Brand
27bc33ba09
Use nickname from global settings when entering a room
2018-08-07 10:09:35 +02:00
JC Brand
2884549bb3
Test decryption of incoming OMEMO message
...
updates #497
2018-08-04 23:49:01 +02:00
JC Brand
713f49453f
Working example of AES-GCM encryption and decryption
...
with key import and export.
updates #497
2018-08-04 21:32:08 +02:00
JC Brand
f2c283c907
More work on decrypting messages
2018-08-04 19:41:06 +02:00
JC Brand
be0eaecff9
Parse incoming OMEMO encrypted messages
2018-08-04 09:26:23 +02:00
JC Brand
b273d00412
Fix failing tests due to api refactor (returning promises)
2018-08-04 08:39:14 +02:00
JC Brand
d99c48b868
Fix failing test.
...
Modal query not specific enough when there are multiple modals
2018-08-04 08:34:13 +02:00
JC Brand
4c3645c559
Merge branch 'master' into converse-omemo
2018-08-03 14:47:20 +02:00
JC Brand
890dbca8b8
Fix tests failing on Travis
2018-08-02 08:30:37 +02:00
JC Brand
f120fbd209
Bugfix. Own groupchat messages weren't being recognized
2018-08-01 18:37:54 +02:00
JC Brand
506aa33131
Wait for promises before opening chats in API methods
2018-08-01 11:12:00 +02:00
JC Brand
1443fdd447
(WIP) Wait for promises before opening chats in API methods
2018-08-01 11:10:43 +02:00
JC Brand
4115461409
Make tests independent of URL at which they're run
2018-07-31 19:13:49 +02:00
JC Brand
e774e9d1af
Test that own devices (from other clients) get included
...
when sending out encrypted messages.
updates #497
2018-07-28 16:36:56 +02:00
JC Brand
a3593dbc7d
Implement and test sending of encrypted messages
...
updates #497
2018-07-28 15:37:36 +02:00
JC Brand
f40e4b4dbb
Merge branch 'master' into converse-omemo
2018-07-25 12:06:42 +02:00
JC Brand
4cefc7cdf9
Fix failing tests due to renames
2018-07-25 12:05:09 +02:00
JC Brand
bcd6845756
Show fingerprints in the user details modal
...
updates #497
2018-07-25 11:33:16 +02:00
JC Brand
114e46dfab
Fix broken test and refactor slightly. updates #497
2018-07-22 10:33:57 +02:00
JC Brand
b80a77a21c
Include signedPreKeySignature in published bundle
...
updates #497
2018-07-21 21:53:31 +02:00
JC Brand
bf13927946
Merge branch 'master' into converse-omemo
2018-07-21 11:34:51 +02:00
JC Brand
87406f5f93
Allow messages to be edited by clicking a pencil icon
...
updates #421
2018-07-21 10:41:10 +02:00
JC Brand
6a790916d3
Only own messages should be editable.
...
Fixes #1139
2018-07-21 08:12:33 +02:00
JC Brand
acd9a18696
Update with new message markup
2018-07-21 07:34:03 +02:00
JC Brand
bb5dff9a74
Merge branch 'better-chat_status' of https://github.com/linkmauve/converse.js into linkmauve-better-chat_status
2018-07-16 01:05:45 +02:00
JC Brand
6717315d05
Add support for message corrections in MUC.
2018-07-16 00:49:00 +02:00
Emmanuel Gil Peyrot
d518596a2e
Add missing closing quote in label_download.
2018-07-14 18:27:25 +02:00
JC Brand
b4d2007972
Allow any earlier message to be edited.
...
updates #421
2018-07-08 15:20:58 +02:00
JC Brand
84a10d77d9
Cancel message correction by pressing the down arrow
...
Also, add a class `correcting` to the message being corrected, to
provide a visual cue.
updates #421
2018-07-08 11:30:15 +02:00
JC Brand
2929647e16
Add support for correcting the last message sent
...
fixes #421
2018-07-08 00:39:28 +02:00
JC Brand
be58e2b9c8
Add test for groupchat message corrections
2018-07-07 14:20:49 +02:00
JC Brand
f3f58a8da4
Test multiple corrections of the same message
2018-07-06 01:51:27 +02:00
JC Brand
19b9aeadfd
Show an indicator that the message has been edited
2018-07-06 01:18:03 +02:00
JC Brand
9f42f09d1e
Get the first message correction test to pass
2018-07-06 01:04:34 +02:00
JC Brand
461cebfed5
Add test for receiving message corrections
2018-07-06 00:43:47 +02:00
JC Brand
7b86e24b9a
Add missing CSS class to bookmark list item and fix test
...
updates #1069
2018-07-04 11:24:02 +02:00
JC Brand
58ee1460fe
Updates #1069
...
Highlight the currently open groupchat in the sidebar (in singleton mode).
2018-07-02 23:29:57 +02:00
JC Brand
e64edf19b4
Use "Groupchat" instead of "Chatroom"
2018-07-02 16:27:58 +02:00
JC Brand
4331f920cf
Fix failing tests
2018-07-02 15:23:49 +02:00
JC Brand
1880b3f209
Nicer rendering of MUC disconnection messages
2018-07-02 12:52:19 +02:00
JC Brand
4127d1126b
fixup
2018-07-01 12:03:55 +02:00
JC Brand
6785eff4a7
Merge branch 'master' into converse-omemo
2018-07-01 11:44:04 +02:00
JC Brand
e5c030c15a
Render max 2 newlines
2018-06-30 16:15:27 +02:00
JC Brand
4361d0d66a
Fix failing tests due to time tag
2018-06-30 15:25:25 +02:00
JC Brand
b5a27b34a1
Render newlines
2018-06-30 15:07:30 +02:00
JC Brand
cc98cea009
Fix failing tests by waiting appropriately
2018-06-30 14:01:47 +02:00
JC Brand
7b19483271
Rename push_services
to push_app_servers
to avoid confusion
2018-06-11 14:17:34 +02:00
JC Brand
a09333f82c
Allow multiple push services to be enabled and also allow disabling
2018-06-07 16:25:59 +02:00
JC Brand
5954cd8f29
Avoid duplicating entities
2018-06-07 15:27:11 +02:00
JC Brand
083f191ead
Consider delayed, non-archived messages as "new"
...
New in the sense that we haven't seen them before
2018-06-07 13:06:32 +02:00
JC Brand
7ee71b0132
Add a plugin for XEP-0357
...
Currently only allows enabling an "App Service", based on pass-in
configuration values.
2018-06-06 14:00:52 +02:00
JC Brand
78d6d493d6
Add info icon in room header and show room details in modal
2018-06-04 19:54:11 +02:00
JC Brand
f7c3351e2b
Merge branch 'master' into webpack
2018-06-04 13:46:27 +02:00
JC Brand
bc872ee2cb
Fix various failing tests and update Makefile
2018-06-04 11:20:34 +02:00
JC Brand
596082eecc
Get tests to run agains the webpack build
2018-06-03 16:40:20 +02:00
JC Brand
8c983ab2a3
Use different icon for adding a groupchat
...
Fixes #1072
2018-05-30 16:38:51 +02:00