Commit Graph

277 Commits

Author SHA1 Message Date
JC Brand
31080bf2f9 Add a FormData polyfill for Edge comptaibility
Fixes #1220
2018-09-24 16:18:51 +02:00
JC Brand
682bace83b Don't show new messages indicator for CSN messages 2018-09-19 13:27:03 +02:00
JC Brand
6dfd0d1aa5 Make sure popovers also work in overlay view mode 2018-09-19 13:01:15 +02:00
JC Brand
094a8a578a Fixes #1201 Emoji picker appears when pressing enter 2018-09-18 16:26:10 +02:00
JC Brand
0833478da4 Use bootstrap4 for the Converse website 2018-09-18 16:15:32 +02:00
JC Brand
dee49e382c Avoid horizontal scrolling for messages in Firefox 2018-09-18 13:14:55 +02:00
JC Brand
c37a1dcbb2 Add explanatory snippets from relevant XEP 2018-09-17 10:26:05 +02:00
JC Brand
60b08d41a7 Fixes #1203
Update to Strophe 1.2.16
2018-09-16 10:54:40 +02:00
JC Brand
ad9a840cb7 Avoid saving full MUC JID as domain 2018-09-14 10:31:58 +02:00
JC Brand
b4a70c5f31 Refactor getJidsWithAffiliations
Previously the Promise.all made it all-or-nothing, now it'll return
partial matches as well and it'll also log error stanzas.
2018-09-13 16:42:54 +02:00
JC Brand
93c956ba4b Bugfix. Should be && not || 2018-09-13 16:42:54 +02:00
JC Brand
0a3a6222c6 Provide error feedback to the /register command.
Also fix if/boolean bug when checking whether we should automatically
register
2018-09-13 12:39:50 +02:00
JC Brand
aeb0c0c7bb Updated build 2018-09-13 11:48:11 +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
989ce0f54d Fixes #1184 2018-09-10 16:21:52 +02:00
JC Brand
a3911094d3 Fix incorrect closing tag 2018-09-10 16:09:38 +02:00
Martin/Geno
dbe88535f1 [BUGFIX] html br 2018-09-10 15:58:17 +02:00
JC Brand
2f2b2ceaf2 Bugfix. Don't create occupants without nick/JID 2018-09-10 08:11:09 +02:00
JC Brand
09bb6b494d New release 4.0.0 2018-09-07 16:20:30 +02:00
JC Brand
8cc88d9b17 Fixes #1152 CSN in MUC triggers rate limiting.
- Avoid registering `sendChatState` twice as handler.
- Avoid sending out a CSN right after sending out a message
2018-09-07 14:00:57 +02:00
JC Brand
999536365d Fixes #1014 Don't show IRC gateway as MUC prefill 2018-09-07 13:14:36 +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
47bde92513 Fixes #1052 Moment locale incorrectly set to zh-tw 2018-09-07 10:38:47 +02:00
JC Brand
27378068c0 Fixes #1064 /topic without argument sets topic to "undefined" 2018-09-07 10:21:47 +02:00
JC Brand
572cc49498 Show room subject in heading, not description 2018-09-07 09:55:36 +02:00
JC Brand
2ef117e402 Fix more missing icons due to Fontawesome upgrade 2018-09-06 19:50:41 +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
eb8953795f New builds 2018-09-06 16:56:40 +02:00
JC Brand
023249f62e Render profile avatar as canvas.
We now have uniform avatar rendering for the profile, messages and
chatboxes.

By rendering as canvas, we can avoid stretching the image.

In the process I also moved the ChatBoxViews collection into its own
plugin `converse-chatboxviews` and placed the AvatarAware views there.

fixes #1157
2018-09-06 15:33:13 +02:00
JC Brand
9da214fb76 Match uppercase file names and extensions 2018-09-06 14:03:41 +02:00
JC Brand
c7ae188002 Re-add signout icon and hide clear-text icon when appropriate 2018-09-06 13:37:55 +02:00
JC Brand
4903d748d0 Save hidden state of singletons if possible 2018-09-06 09:44:44 +02:00
JC Brand
eca11953bb Upgrade to fontawesome 5 2018-09-04 13:34:06 +02:00
JC Brand
adee252b28 Close emoji dropdown on enter and prevent default 2018-09-03 14:36:09 +02:00
JC Brand
23b65f5fc5 Lazily load emoji images 2018-09-03 14:20:14 +02:00
JC Brand
e35fceff1a Remove the need for emojione 2018-09-03 14:16:59 +02:00
JC Brand
1d38d8af03 Use twemoji for rendering emojis 2018-09-03 13:24:37 +02:00
JC Brand
6b157eedde Remove converse-oauth as core plugin 2018-09-03 10:50:51 +02:00
JC Brand
866f2737da More JSDoc docstrings for API methods 2018-09-02 23:43:39 +02:00
JC Brand
6f13676ee1 Show OMEMO error messages only in debug mode 2018-08-31 21:33:46 +02:00
JC Brand
1d5cf8eb7c Fix AES-GCM encryption/decryption so that it works with Conversations
Fixes #497
2018-08-31 21:13:33 +02:00
JC Brand
c2184ce8e1 Always create a new session 2018-08-31 18:44:24 +02:00
JC Brand
c8211085fd Pass array buffer to libsignal encrypt/decrypt methods 2018-08-31 18:10:09 +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
bb6d4f75bf Fade out enter/leave messages sooner and add check 2018-08-31 10:36:51 +02:00
JC Brand
86a0fa280b Call clearSession when disconnecting
So that the chatboxes get closed/removed.

Also, don't render the login form when we're just reconnecting.
2018-08-31 10:17:24 +02:00
JC Brand
38bfbbf61f New builds 2018-08-30 23:14:23 +02:00
JC Brand
3ecb906dbd New builds 2018-08-29 13:56:23 +02:00
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
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