JC Brand
06352b67c1
Fix AttributeError
2018-09-07 14:49:11 +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
baf598608a
Fix leave icon
2018-09-06 17:09:47 +02:00
JC Brand
50a1bd7bc5
Fixes #1159
2018-09-06 17:09:32 +02:00
JC Brand
99432eebd9
I think this fixes #1160
...
Don't included MAM data form if there's nothing to filter
2018-09-06 16:56:13 +02:00
JC Brand
565cfc3984
Hook in the Czech translations
2018-09-06 16:03:37 +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
5f16babebd
Fix failing OMEMO test and simplify by using async/await
2018-09-02 14:27:05 +02:00
JC Brand
cce27fac99
Avoid unnecessary promise wrapping
2018-09-02 14:18:05 +02:00
JC Brand
16deecd468
All API methods of converse-core are now documented with jsdoc
2018-09-02 12:15:26 +02:00
JC Brand
45fc71c05d
More jsdoc docstrings as well as an intro page and JSON config
2018-09-02 10:11:37 +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
fc6982ce08
Merge branch 'omemo-debug'
2018-08-31 18:39:01 +02:00
JC Brand
bd1fd7eef1
Key should be AES-128, not AES-256
2018-08-31 18:33:03 +02:00
JC Brand
c2f1b2543f
Pass array buffer to libsignal decrypt
2018-08-31 18:24:08 +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
1294d682e1
Automatically remove leave/enter and enter/leave messages
...
after 10 seconds.
2018-08-30 23:13:28 +02:00
JC Brand
4b5b517390
Update bookmark form with proper bootstrap markup
2018-08-30 22:32:16 +02:00
JC Brand
a44f38329c
Only create bookmark after succesfully setting it on the server
2018-08-30 13:39:50 +02:00
JC Brand
34541d6410
Add check before resetting
2018-08-30 13:39:33 +02:00
JC Brand
f947bcc4b1
Also notify if the chat is not visible in the page.
2018-08-29 13:56:18 +02:00
JC Brand
33c2d4614f
Remove unused method
2018-08-29 10:33:43 +02:00
JC Brand
f72ace506f
Replace the onChatBoxAdded override with event handlers
2018-08-28 15:08:38 +02:00
JC Brand
934e86536e
Remove another vestige of OTR
2018-08-28 14:58:07 +02:00
JC Brand
21178add98
Remove converse-otr
2018-08-27 22:09:22 +02:00
JC Brand
4f8b5a4022
Use built-in crypto instead of CryptoJS
2018-08-27 21:54:29 +02:00
JC Brand
1dc1c1f98a
Properly generate and render fingerprints
2018-08-27 21:02:31 +02:00
JC Brand
c142437320
Create new message for correction if the original is not available
...
Fixes #1172
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
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
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