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
JC Brand
bb95375f9c
Support for roster versioning
...
fixes #1106
2018-05-28 13:59:11 +02:00
JC Brand
e8a26eb185
Store the roster version
...
updates #1106
2018-05-28 10:31:52 +02:00
JC Brand
dd5f6f1025
Show join/leave notifications for members who go offline
...
updates #1094
2018-05-24 09:48:01 +02:00
JC Brand
d484320c09
Test that bundles can be updated via PEP
...
Fix bugs in the process
udpates #497
2018-05-23 12:51:01 +02:00
JC Brand
ddd0ef8e20
Test that device lists can get updated via PEP
...
Fix various bugs in the process.
updates #497
2018-05-23 12:51:01 +02:00
JC Brand
f906761dc0
Initial work on sending a different stanza for OMEMO messages
...
updates #497
2018-05-23 12:51:01 +02:00
JC Brand
a99e7a317e
Change lock icon when clicking the toggle
...
updates #497
2018-05-23 12:51:01 +02:00
JC Brand
61dcebbbf6
When generating a device id, check whether it already exists
...
and if so, generate a new one.
To do so we have to change the order of events.
1. first we fetch our device list
2. then we generate our bundle info (if necessary)
3. then we update our device list (if necessary)
4. then we publish our bundle
updates #497
2018-05-23 12:51:01 +02:00
JC Brand
fd3bb570cd
Add an omemo_active
flag on the chatbox
...
updates #497
2018-05-23 12:51:01 +02:00
JC Brand
9645641505
Add own device to the server-stored devicelist
...
updates #497
2018-05-23 12:51:01 +02:00
JC Brand
281865d9b1
Based on feedback from @iNPUTmice, no need to check for PEP support
...
Since you can still start OMEMO sessions with contacts without it, they
just can't create sessions with you.
2018-05-23 12:51:01 +02:00
JC Brand
09eb1731b5
Add code to generate and publish our bundle and update the test
...
updates #497
2018-05-23 12:51:01 +02:00
JC Brand
6042c233bc
Add test that the OMEMO toolbar button renders
...
Fix and improve accordingly. updates #497
2018-05-23 12:51:01 +02:00
JC Brand
9500900f22
Make sure bookmarks are cleared before re-initializing
...
Otherwise subtle, hard-to-reproduce bugs happen while testing.
Also, don't unnecessarily call `delegateEvents`, it also causes
heisen-breakage.
2018-05-22 21:59:17 +02:00
JC Brand
36fd859a88
Store presence info in a separate collection
...
So that we can cache roster data for longer and presence data for
shorter.
2018-05-22 21:09:43 +02:00
JC Brand
c920725832
Add a clearSession
event to avoid using overrides.
2018-05-18 15:44:42 +02:00
JC Brand
2508ef0e9e
Make the default value for the 'trusted' checkbox configurable
...
Also remove the `message_storage` setting.
2018-05-18 15:44:42 +02:00
JC Brand
59535656b6
Add checkbox to indicate whether this is a trusted device
2018-05-18 15:44:42 +02:00
JC Brand
38499917a9
updates #194
...
Include entity capabilities hash in outgoing presences
Also, started some work on using jsdoc for rendering API documentation.
Ideally that would go into a separate commit but that would take ages to
untangle.
2018-05-11 13:35:27 +02:00
JC Brand
527555badf
Add missing spec file
2018-05-10 23:24:43 +02:00
JC Brand
270c9b7c0e
Bump timeouts in a desperate attempt to appease the CI gods
2018-05-09 15:42:57 +02:00
JC Brand
71c12c385a
Fix failing test
2018-05-09 15:02:10 +02:00
JC Brand
859bc0616e
Fixes #1094
...
- Show users who are registered on the different members lists
- Show badges indicating user's roles and affiliations
2018-05-09 12:28:34 +02:00
JC Brand
b6692b17a2
Show roles from VCard next to name in messages
2018-05-08 19:51:56 +02:00
JC Brand
8bd968a03b
Also use the VCard cache for the user's own status
2018-05-08 19:24:50 +02:00
JC Brand
5136b0c1dd
Fix two failing tests (and a bug)
2018-05-07 14:31:02 +02:00
JC Brand
b8679063c5
Use the VCards collection for roster contacts
...
Instead of saving the vcard data on the contact model itself
2018-05-05 20:51:14 +02:00
JC Brand
6ac1df43e1
Render chat state notifications on the message view
...
and not via the chatbox view (fixes some failing tests also).
2018-05-04 17:26:43 +02:00
JC Brand
99915a26f4
Use vcard from the collection for rendering messages
2018-05-03 20:05:45 +02:00
JC Brand
7eb6b13f10
Don't mark /me messages are followup messages.
2018-05-02 14:55:10 +02:00
JC Brand
f9aa75b69e
Refactored message attributes and rendering.
...
- set `username` on the message object,
instead of always using `fullname` with fallback to `jid`.
- Distinguish better between `groupchat` messages and normal
messages in `getMessageAttributesFromStanza`
2018-05-01 12:30:58 +02:00
JC Brand
62cdd03562
Make sure to enter chatroom in test
2018-05-01 09:47:45 +02:00
JC Brand
097d992d13
Bugfix, /me message wrongly marked as followup message.
2018-04-30 16:23:52 +02:00
JC Brand
9f48b5cf51
Clean up the chatroom spec a bit
2018-04-30 15:37:37 +02:00
JC Brand
4bcf8e7bc3
Mark followup messags so that they can be styled differently
2018-04-30 15:37:37 +02:00
JC Brand
1873c43956
Move message-related tests into their own file
2018-04-30 15:37:37 +02:00
JC Brand
876a07b3de
Fix the failing tests
2018-04-30 15:37:37 +02:00
JC Brand
1405d9cb49
Also style file upload and action messages.
2018-04-30 15:37:37 +02:00
JC Brand
5ffb09bd15
Updates #161 : Treat sent files also as oob messages
2018-04-30 15:37:37 +02:00
JC Brand
56e4e8b8ee
Fix rendering of headline messages.
...
Also, add urijs to more intelligently handle URIs
2018-04-30 15:37:36 +02:00
JC Brand
3d42425083
Some UI improvements
...
- Render images as thumbnails
- Use the image.html template when rendering images from pasted URLs
- Update message and spoiler markup to render avatars
- Use the default avatar as fallback when user doesn't have one
- Instead of 'me' render own name or JID
2018-04-30 15:37:36 +02:00
JC Brand
59a72efe1b
Refactor MUC message sending
...
To make it more similar to how messages are sent in private chats and to
reuse methods as far as possible.
Removed `sendChatRoomMessage` and `clearChatRoomMessages`
2018-04-24 11:09:36 +02:00
JC Brand
8a862e27c5
Catch and log errors inside promises
2018-04-24 11:07:32 +02:00
JC Brand
a15c9e54d0
Also test for when XEP-0363 is not supported
...
Updates #161
2018-04-22 17:47:34 +02:00
JC Brand
d73394fa37
Add tests for XEP-0363 for MUC
...
Update #161
2018-04-22 17:30:49 +02:00
JC Brand
f785c2df0a
Fix linting errors
2018-04-18 17:29:51 +02:00
JC Brand
a19e7aeffe
Add support for XEP-0066 Out of band data
2018-04-18 16:58:52 +02:00
JC Brand
d048cff9a8
Provide metadata of file being uploaded.
...
updates #161
2018-04-18 11:49:53 +02:00
JC Brand
133df99aec
Honor the filesize restrictions of the XMPP server
...
updates #161
2018-04-18 11:35:33 +02:00
JC Brand
076ace3fad
Parse and save jabber ❌ data formdata from a disco#info result
2018-04-17 16:42:20 +02:00
JC Brand
c01e9f8265
Move methods from chatbox view to message view
...
Specifically the methods related to requesting an upload slot and uploading a file.
Also show a progress indicator while a file is being uploaded.
Updates #161
2018-04-17 15:21:38 +02:00