JC Brand
d784e4a73a
Show an icon to indicate that a message is encrypted
...
updates #497
2018-08-24 16:26:54 +02:00
JC Brand
4c5ea34acf
New build
2018-08-24 15:39:14 +02:00
JC Brand
3eb5e93f81
Finally able to send a message and decrypt it on the other side
...
Updates #497
2018-08-24 14:40:48 +02:00
JC Brand
2dd5976f65
Fix bugs in the OMEMO store and in the decrypt
method.
...
Updates #497
2018-08-24 13:17:32 +02:00
JC Brand
9e56858aae
Remove unnecessary promise wrapper
2018-08-24 10:51:59 +02:00
JC Brand
7bb7f8f4dc
Can now successfully send an encrypted stanza
...
updates #497
2018-08-23 14:03:16 +02:00
JC Brand
c1123fd6a0
Used wrong registration id and identity key when building a session
...
updates #497
2018-08-23 14:03:12 +02:00
JC Brand
058905134e
Serialize all array buffers to base64 before storing
...
Array Buffers can't be JSON serialized as is.
updates #497
2018-08-23 14:03:09 +02:00
JC Brand
d4ccf20e7f
Update modals when devices get added
...
updates #497
2018-08-23 14:03:06 +02:00
JC Brand
b17579501f
Provide error output to user when encrypted message can't be sent
...
updates #497
2018-08-23 14:03:00 +02:00
JC Brand
7692a46e17
Nonsencical to wrap a promise in try/catch
2018-08-23 14:02:53 +02:00
JC Brand
069d4a9fae
Remove unnecessary promise wrapper
...
updates #497
2018-08-23 14:02:50 +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
781ad3d643
Update to use _converse.config
2018-08-23 09:49:51 +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
76a2192afa
Singleton models need an id attribute via its getter
...
Setting it on the model itself is not sufficient and then causes
changes which should be type `update` become type `create`, causing
multiple versions of the model... resulting in chaos.
2018-08-22 23:39:42 +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
f01b6c29c8
Collections shouldn't have id attributes
...
Otherwise the collection's items aren't fetched but it's own properties.
The way to persistently remove items from a collection is to destroy
them, NOT to call `remove`.
2018-08-22 19:26:38 +02:00
JC Brand
5ded22207b
identity_key should be stored as base64, not array buffer
2018-08-22 18:32:31 +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
a422f07866
Bugfix. beforeTearDown
event handler not fired in tests
2018-08-22 14:33:09 +02:00
JC Brand
75bd24c19e
Update device lists in modals if devices get removed
2018-08-22 14:33:09 +02:00
JC Brand
21a04d9de5
Avoid unnecessary promise-wrapping
2018-08-22 14:33:08 +02:00
JC Brand
de077ba9af
Various small fixes while trying to get it to work
2018-08-22 14:33:08 +02:00
JC Brand
24d86c7edd
Wrap in try/catch, otherwise handler gets removed upon error
2018-08-22 14:33:08 +02:00
JC Brand
235b24d1d4
Bugfixes.
...
- Use sizzle xmlns selector (which doesn't work with `querySelector`)
- PEP Subscription didn't have `+` before `notify`
2018-08-22 14:33:08 +02:00
JC Brand
cf3a33a82e
__super__ is undefined because it's not an override
2018-08-22 14:33:00 +02:00
JC Brand
23a26cfdf5
__super__ is undefined because it's not an override
2018-08-22 11:41:38 +02:00
JC Brand
0339c59390
Clear old modals upon logout
2018-08-21 18:32:16 +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
a06d2c494a
Implement own device removal via stanza
2018-08-21 17:35:17 +02:00
JC Brand
26e936583f
Add devices section to own profile modal
...
Allow for devices to be removed.
2018-08-21 09:28:16 +02:00
JC Brand
8cc69ee5fb
No need for a toJSON call, it's already an object
2018-08-20 11:17:26 +02:00
JC Brand
7d1db66056
Less explicit Promise declarations.
...
It's usually not necessary to wrap a promise inside another one, instead
the original promise can just be returned.
2018-08-20 11:16:06 +02:00
JC Brand
cda426bc82
Merge branch 'master' into converse-omemo
2018-08-20 10:34:04 +02:00
JC Brand
f98b11afeb
Fix linting error
2018-08-20 08:59:48 +02:00
Emmanuel Gil Peyrot
958e8a98a8
Use the roster name or vCard nickname before falling back to vCard fullname or JID.
2018-08-20 08:59:01 +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
c4ac73cc88
prekey id must be an int.
2018-08-18 18:24:29 +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
299fa4f3f8
Nicer error logging when translations are not found
2018-08-18 10:22:31 +02:00
JC Brand
e123c690f0
Add autocomplete support for occupants with only a JID
2018-08-16 17:11:04 +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
70b953ab84
Change selected item to the one the mouse is hovering over
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
b6f5cd2cc9
Use the auto_first setting
2018-08-16 15:17:53 +02:00
JC Brand
9a8d3b695e
Generic message which works for both single and groupchats
2018-08-16 15:17:53 +02:00
JC Brand
73deaf24c0
Make sure occupants toggle gets shown
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
5ded3b6cb9
Make list an executable
2018-08-16 15:17:53 +02:00
JC Brand
ad73abbd12
Rewrite as ES2015 class
2018-08-16 15:17:53 +02:00
JC Brand
b6f4f05b9e
Add converse-autocomplete and use that in the chat textarea
2018-08-16 15:17:53 +02:00
linkmauve
f0ad326e2e
Simplify an error message on MUC service shutdown ( #1161 )
2018-08-16 11:36:44 +02:00
JC Brand
ddfe35b2c8
Set proper content type for file upload
2018-08-14 18:45:45 +02:00
JC Brand
45d1440684
Cancel message correction by pressing escape.
...
Also fixes #1153
2018-08-10 11:48:07 +02:00
JC Brand
c652568a03
Clear color after submitting a corrected message
2018-08-09 16:33:25 +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
1aceaa9c40
Avoid creating unnecesary promises
...
by returning existing promises and by using _converse.api.sendIQ
2018-08-09 14:44:39 +02:00
JC Brand
daf470e311
Check permissions before attempting to execute action on behalf of user
2018-08-09 14:43:40 +02:00
JC Brand
5e42bb2d49
Bugfix. Don't only set
, save to storage.
...
Otherwise the flag doesn't persist across page loads.
2018-08-08 10:01:26 +02:00
JC Brand
8d40d5f108
Bugfix. Stanza passed in as 2nd parameter
2018-08-08 09:43:32 +02:00
JC Brand
2d05487862
More code reuse between chatboxview and chatroomview
2018-08-07 15:32:13 +02:00
JC Brand
d852721933
Place cursor at the end when correcting a message
2018-08-07 10:09:36 +02:00
JC Brand
08dce556f9
When correcting a message, also highlight the textarea.
2018-08-07 10:09:35 +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
bb1fdd843a
Use ternary operator to make more compact
2018-08-04 09:07:59 +02:00
JC Brand
4c3645c559
Merge branch 'master' into converse-omemo
2018-08-03 14:47:20 +02:00
JC Brand
b027f0f784
Fixes #1143 Disallow sending of empty messages
2018-08-01 18:48:02 +02:00
JC Brand
f120fbd209
Bugfix. Own groupchat messages weren't being recognized
2018-08-01 18:37:54 +02:00
JC Brand
dc4c832fce
Add jsdoc docstrings to chats
API.
...
Link to the jsdoc output from the Sphinx docs
2018-08-01 12:11:10 +02:00
JC Brand
506aa33131
Wait for promises before opening chats in API methods
2018-08-01 11:12:00 +02:00
JC Brand
cb118b9cd0
Extract inline code into method
2018-08-01 11:10:43 +02:00
JC Brand
cbe6092c33
Handle case where chat content is empty
2018-08-01 11:10:43 +02:00
JC Brand
1443fdd447
(WIP) Wait for promises before opening chats in API methods
2018-08-01 11:10:43 +02:00
Emmanuel Gil Peyrot
8de78dfaf5
Fix disco#info result stanza
...
Converse forgot to add the wrapping query element, making the iq
invalid[1].
Thanks to lovetox for reporting this bug!
[1] https://pastebin.com/raw/T7h3FKHu
2018-07-31 17:52:07 +02:00
JC Brand
7a47b7b992
Don't require a chat JID to be specified in embedded mode
...
We might want to only open a chat later.
2018-07-30 16:42:54 +02:00
JC Brand
964b10dc33
Set default BOSH wait
time to 59
...
to avoid timing conflicts with the webserver
2018-07-28 17:13:13 +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
ce447e4035
Merge branch 'master' into converse-omemo
2018-07-22 12:15:16 +02:00
JC Brand
5abb9f8bb2
Found more instance of room
to be replaced with groupchat
2018-07-22 11:31:45 +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
linkmauve
d25b227ba4
Remove @locked_domain if it has been provided in the JID. ( #1132 )
...
Fixes #917 .
2018-07-17 08:15:27 +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
JC Brand
16faf62d3f
Fixes #1129 Hide "Contacts" section when logged in anonymously
2018-07-16 00:09:54 +02:00
Emmanuel Gil Peyrot
d518596a2e
Add missing closing quote in label_download.
2018-07-14 18:27:25 +02:00
Emmanuel Gil Peyrot
d643d4c9cf
Remove order constraint in file upload error message.
2018-07-14 18:26:42 +02:00
Emmanuel Gil Peyrot
3fcf9acfcc
Remove order constraint in chatstate message.
2018-07-14 18:26:42 +02:00
Emmanuel Gil Peyrot
422757832b
Remove order constraint in chat_status message.
2018-07-14 18:26:42 +02:00
JC Brand
b4d2007972
Allow any earlier message to be edited.
...
updates #421
2018-07-08 15:20:58 +02:00
JC Brand
a9bb99a1a7
Show animation when a message has been corrected
...
updates #421
2018-07-08 13:43:28 +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
f3f58a8da4
Test multiple corrections of the same message
2018-07-06 01:51:27 +02:00
JC Brand
9e965fa20e
Add a rudimentary message versions modal
2018-07-06 01:36:34 +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
52d5677e40
Rename message
to stanza
to avoid confusion
2018-07-06 00:59:16 +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
388719ff2d
Update CSS of controlbox list items
...
Trying to use more generic CSS selectors and to extract out common patterns.
2018-07-04 10:57:30 +02:00
JC Brand
47ec7501ed
updates #1069 Don't show room-info icon for bookmarks
...
Currently we can only show the room info modal for open rooms, because
we need the Backbone.Model.
Querying the room info and displaying it for non-open rooms will be more
work and will require a separate modal.
2018-07-04 09:18:54 +02:00
JC Brand
145167baae
Don't remove ourselves as occupant
...
when removing offline users who are no longer on the member lists
2018-07-04 09:08:23 +02:00
JC Brand
efa5e30596
updates #1069 Highlight currently open private chat in the sidebar
2018-07-04 09:08:22 +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
a67fa6d4e5
Render URLs in the topic in the room details modal
2018-07-02 21:20:37 +02:00
JC Brand
a2fef1277c
Don't render labels for hidden inputs
2018-07-02 20:22:16 +02:00
JC Brand
d335173fd7
Bootstrap markup for auto-generated forms
2018-07-02 20:18:22 +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
c6d7317bb2
Show the topic in the room info modal
2018-07-02 13:41:15 +02:00
JC Brand
1880b3f209
Nicer rendering of MUC disconnection messages
2018-07-02 12:52:19 +02:00
JC Brand
eb1f462e07
Handle all presence stanzas sent from the room
...
Our handler was too restrictive due to the namespace matching.
When joining a room and the room's remote server can not be found, then
the resulting error messages doesn't not have the MUC namespace.
2018-07-02 12:52:13 +02:00
JC Brand
118a84f111
Bugfix. Make sure outgoing messages all have unique ids
2018-07-01 12:01:07 +02:00
JC Brand
e2b5f1d15e
Don't reuse the forwarded stanza's id
2018-07-01 11:46:16 +02:00
JC Brand
648c0387dd
Refactor message sending
...
so that we don't have to always wait for stanza creation.
We only need to wait when OMEMO is active, so we keep the waiting
contained to that usecase.
2018-07-01 11:45:58 +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
6e99af698d
Merge branch 'timetag' of https://github.com/Zash/converse.js into Zash-timetag
2018-06-30 15:12:57 +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
9a60b5bb15
Let api.disco.info
use api.sendIQ
(and therefore be promise based)
2018-06-30 14:01:47 +02:00
Joachim Vandersmissen
878b106c7b
Allow for shift-enter to insert newlines ( #1115 )
...
* Allow for shift-enter to insert newlines
See issue #1081
* Update CHANGES.md
2018-06-19 06:41:22 +02:00
JC Brand
3dac4ae45c
Add support for logging in with OAuth
2018-06-13 18:39:51 +02:00
JC Brand
a2dec2371d
Bugfix. jid
of null
was set on own VCard
...
Also made a few other minor improvements and did some cleanup.
2018-06-12 12:14:49 +02:00
JC Brand
7b19483271
Rename push_services
to push_app_servers
to avoid confusion
2018-06-11 14:17:34 +02:00