Commit Graph

241 Commits

Author SHA1 Message Date
JC Brand
da68ea9c9f New build 2018-08-27 21:02:31 +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
7959855891 Move publishBundle to OMEMOStore
updates #497
2018-08-24 16:32:40 +02:00
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
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
4141a22306 new builds 2018-08-22 11:44:55 +02:00
JC Brand
97467214ac New build 2018-08-21 18:32: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
cda426bc82 Merge branch 'master' into converse-omemo 2018-08-20 10:34:04 +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
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
1511eb13d9 New builds 2018-08-16 15:18:08 +02:00
JC Brand
b6f4f05b9e Add converse-autocomplete and use that in the chat textarea 2018-08-16 15:17:53 +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
5d64f4c704 Newly generated build 2018-08-09 15:46:52 +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
99bdf235dd Newly generated build 2018-08-07 15:32:13 +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
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
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
7fafc6758e Updated build 2018-07-28 17:16:33 +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
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
6424844a90 Updated translation files 2018-07-22 10:43:50 +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
b751c06694 Start using BEM to structure messages Sass/CSS
updates #421
2018-07-20 14:09:30 +02:00
JC Brand
62dc0c494e Merge branch 'linkmauve-better-chat_status' 2018-07-16 01:10:05 +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
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
a200ff953a Make new pot and po files 2018-07-02 16:33:57 +02:00
JC Brand
102505c1a9 Generate new translation strings 2018-07-02 15:44:37 +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
fad6b5368d Fix incorrect merge (from master into converse-omemo branch) 2018-07-01 12:04:45 +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
JC Brand
81ed773baa Updated css and fix some niggles in the Makefile 2018-06-14 10:22:16 +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
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
6126781d83 Proper checking of disco support for push notifications 2018-06-07 15:00:36 +02:00
JC Brand
6cd9d2e813 Rename _tearDown to tearDown and rebuild 2018-06-07 14:30:10 +02:00
JC Brand
d4d03925b8 Set hidden to true by default for chats in singleton mode.
However, when a new chat is created due to an incoming message, and
there aren't any other chats visible, then show it.
2018-06-07 14:09:19 +02:00
JC Brand
37b622251e Improve and simplify unread message notifications in the roster
Use one event instead of two, by listening to `num_unread` on chatboxes.
2018-06-07 13:40:20 +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
ec65bb3512 createMessage doesn't need the delay parameter 2018-06-07 12:37:56 +02:00
JC Brand
57b4dec5a0 Bugfix. Validation messages wasn't being shown
due to Awesomplete doing things to the DOM and then confusing Snabbdom.
2018-06-06 18:31:04 +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
eed141b53e Remove unnecessary path aliases from the webpack config 2018-06-06 11:04:23 +02:00