JC Brand
bad2577e5e
OMEMO Refactoring
...
When calling `getDeviceList`, wait for the devices to be fetched
Otherwise a race condition might occur, whereby a new device gets
created in the collection, and then removed again as the collection is
replaced with the values fetched from the browser-storage cache.
Also created `converse-omemo-fingerprints` component to asynchronously
render fingerprints in the user details modal. Was done as part of this
commit because due to `getDeviceList` being async, the relevant test for
the modal were also failing
2021-11-24 21:14:11 +01:00
JC Brand
9b1a7c70a3
Wait on OMEMOInitialized
promise...
...
before parsing message stanza for encryption parameters.
Otherwise we might not know what our own device-id/sid is, and therefore
can't decrypt the incoming message.
Fixes #2733
2021-11-24 21:14:11 +01:00
JC Brand
a06d180827
Could not find dependency "converse-controlbox" for plugin "converse-muc"
...
Fixes #2423
2021-11-21 12:13:13 +01:00
JC Brand
2af758e66d
Not sending headers with upload request
...
Fixes #2728
2021-11-21 11:56:53 +01:00
JC Brand
fa562cabae
Don't fetch member list if not affiliated
...
Fixes #1426
2021-11-21 11:05:23 +01:00
JC Brand
07b2425ff9
Don't show unnecessary errors for undecryptable OMEMO messages
...
As mentioned in the XEP, don't show error messages for OMEMO messages
that can't be decrypted because they were already decrypted before or
because they weren't encrypted for this device.
2021-11-20 13:43:27 +01:00
JC Brand
d48d748e30
Don't cache the most recent message.
...
Since messages are ordered by time, the call to get it isn't very
expensive and by not caching we avoid getting a stale cache value
2021-11-20 13:43:27 +01:00
JC Brand
33f3cb76ad
Use the extended MAM message data to get the sender's real JID
...
That solves the problem of not being able to look up OMEMO session data
from incoming MAM messages.
See here: https://github.com/conversejs/converse.js/issues/2241#issuecomment-974626847
Updates #2241
2021-11-20 12:50:25 +01:00
JC Brand
78846ab984
Fix: don't show avatars for followup messages
2021-11-19 23:05:16 +01:00
JC Brand
afbb46bd8c
Add converse-image
custom element
...
And use that to render images in unfurls.
This solves the issue of github URL unfurl images not having an image
extension and then being rendered as a hyperlink by `converse-rich-text`.
Instead, we know that it's supposed to be a url, so we just use `converse-image`.
2021-11-19 22:32:46 +01:00
JC Brand
ed63902ac1
Send presence status change to all connected MUCs
...
Fixes #2725
2021-11-19 21:26:35 +01:00
JC Brand
35947e3d62
Show avatars in MUC occupants sidebar
...
Fixes #1322
(Also clean up some loose threads)
2021-11-19 21:08:51 +01:00
JC Brand
bdac6f1b47
Split vcard plugin up into multiple files
2021-11-19 13:42:59 +01:00
Andy Friedman
c76e6fb86b
Compress new avatar images
2021-11-19 13:01:09 +01:00
JC Brand
664f290001
Use converse-avatar for setting avatar
2021-11-19 13:01:09 +01:00
JC Brand
c62ea03e2e
Use converse-avatar
for roster items
2021-11-19 13:01:09 +01:00
JC Brand
8db12e61bf
Use converse-avatar
and fix bug...
...
where avatar didn't show in 1:1 chat heading (due to a race condition)
2021-11-19 11:07:09 +01:00
JC Brand
f36c3fefdd
Fix the MUC occupant modal and add more info
...
Fixes #1419
2021-11-19 11:07:09 +01:00
JC Brand
a5b73f0309
Create the converse-avatar
custom element
2021-11-19 10:00:04 +01:00
JC Brand
e347621dc8
Add JSDoc example
2021-11-17 09:42:38 +01:00
JC Brand
1ee75b78b7
Replace more font icons with svg icons
...
Updates #1004
2021-11-14 22:53:04 +01:00
JC Brand
ecfc3e9fcf
Implement support for XEP-0421 occupant ids
...
This let's us populate the `from_real_jid` attribute for messages in
cases where the user's nickname has changed.
Only save the occupant-id if the MUC supports it
Store all advertised features on the `chatbox.features` model.
This allows us to look up a feature without using the async
`disco.supports` API.
Updates #2241
2021-11-06 22:25:02 +01:00
JC Brand
a60127e66f
Avoid possible exception when leaving/reconnecting in a MUC
...
- Unregister nickname before sending unavailable presence
- Send unavailable presence before destroying state
- Call `leave` after unregistering, otherwise the disco entry for the MUC gets removed in `leave` while it's still necessary to unregister
- Wrap `this.leave` in try/except in `onConnectionStatusChanged` handler
- Add new MUC connection status, `CLOSING` to avoid `this.leave()` being called when `hidden` gets set to `true` while the MUC is in the process of being closed.
2021-11-04 19:21:29 +01:00
JC Brand
2fb8ea3ea0
Only register new nick if auto_register_muc_nickname is set
2021-10-30 21:30:53 +02:00
John Spurlock
1c6ada4af8
Fix send button not working in a muc room
...
Was looking at the wrong form
2021-10-30 21:16:11 +02:00
JC Brand
ca02bdcb61
Bugfix. Use real JID when setting up a device session in a MUC
...
Thanks to @orbitz, see: https://github.com/conversejs/converse.js/issues/1481#issuecomment-509183431
Updates #1481
2021-10-30 21:14:11 +02:00
JC Brand
90d93b364a
Reregister nick when changing it in a members-only MUC
2021-10-30 20:56:23 +02:00
JC Brand
6177afd5b1
MUC: Don't send markers for non-groupchat messages.
...
I noticed that a marker was sent for an error message (created due to an
unencryptable OMEMO messages), and this caused the user to be kicked
from the MUC.
2021-10-30 20:56:23 +02:00
JC Brand
5abec5bff0
Remove tabs
2021-10-30 20:56:23 +02:00
Kim Alvefur
ec792abbda
Map XEP-0122 data types to HTML5 form field types
...
This should invoke nicer UI some browsers have for certain types, like numbers.
2021-10-26 11:57:05 +02:00
Kim Alvefur
6890da11ed
Factor out input field type mapping into a function to allow modified logic
2021-10-26 11:57:05 +02:00
JC Brand
1b31e80f25
Render MEP message reason as rich text
2021-10-21 10:43:24 +02:00
JC Brand
d2a33bc210
Add the ability to retract XEP-0316 MEP messages
2021-10-20 17:49:58 +02:00
JC Brand
3cfdf4c946
Fix trimming of chats in overlayed view mode
2021-10-14 17:49:20 +02:00
JC Brand
5a7f16b6f9
Bugfix. 'closed' value only relevant in overlayed view mode
2021-10-14 16:15:17 +02:00
JC Brand
32e521fdc7
Bugfix. MEP messages appear at bottom when returned from MAM
2021-10-13 21:14:57 +02:00
JC Brand
521f3d88d2
Move MUC MAM tests into a new file
2021-10-13 20:01:09 +02:00
JC Brand
cf8522b1ef
Fix attribute error
2021-10-04 10:56:13 +02:00
JC Brand
6cff47c6d8
Remove muc_ogp_show_unfurls
setting
...
And instead use the `render_media` setting to determine whether unfurls
should be shown.
2021-10-01 13:22:17 +02:00
JC Brand
366932e999
Allow render_media
setting to be an array of domains
...
This allows for more flexibility in configuring which media URLs will
automatically render and which media URLs may be manually rendered by
the user (via the message actions dropdown).
For example, suppose you want to automatically render all media URLs
from https://xmpp.org , but still allow other media (which won't render
by default) to be rendered manually by the user (by clicking the "Show
URL previews" message dropdown action).
In this case, you set `render_media` to `['xmpp.org']` and
`allowed_image_domains` to `null` or `undefined`.
Or if you want to automatically render images from xmpp.org, and
restrict the domains users might manually click to render, you can add
those extra domains to `allowed_image_domains`.
2021-09-30 16:30:30 +02:00
JC Brand
be2ded3b7e
No need to pass in render_media as a prop
2021-09-29 13:19:00 +02:00
JC Brand
1809e38911
Move isUniView
function to utils
2021-09-29 12:03:21 +02:00
JC Brand
06ec539839
Update lit imports
2021-09-29 11:20:14 +02:00
JC Brand
84c6a0039c
Fix embedded, singleton mode.
...
It's now necessary to add a `converse-root` element in the DOM where you
want Converse to render (previously it was any element with the id
`#conversejs`).
Also, turned `converse-chats` element into a Lit element and re-render
`converse-root` and `converse-chats` when the `view-mode` or `singleton`
settings change. This is a step towards being able to change the view
mode on the fly and have the entire chat re-render appropriately.
Fixes #2647
2021-09-24 11:53:49 +02:00
JC Brand
5ff57258ec
Fix nickname form width
2021-09-23 22:31:30 +02:00
JC Brand
d4f6b040f3
Bugfix. Read jid from settings
...
Now that app settings are now longer saved directly on the `_converse` object
2021-09-23 22:27:49 +02:00
JC Brand
1104b28758
Bugfix. URL is passed in, not object
2021-09-23 21:56:32 +02:00
JC Brand
881a9a6d27
Re-render message if relevant config settings change
2021-09-23 21:50:24 +02:00
JC Brand
48f37aa1c0
Call initialize
in CustomElement's connectedCallback
method
2021-09-23 14:25:42 +02:00
JC Brand
7f2ab05f97
Move tests to separate file
2021-09-22 16:45:57 +02:00
JC Brand
de092f8f00
Emit events on the settings object
...
instead of on a separate object
2021-09-22 16:36:28 +02:00
JC Brand
9e48fdc91c
Emit an event when a configuration setting gets changed
2021-09-21 17:08:30 +02:00
JC Brand
05dcb4e8d7
Breaking change: stop setting config variables on the _converse object
2021-09-21 17:08:30 +02:00
JC Brand
864e8910c4
Move settings related files into one directory
2021-09-21 17:08:30 +02:00
JC Brand
efafc2d691
Allow media to be invidually shown/rendered...
...
even if the global configuration is to disallow it.
* When parsing, include all media URLs, not just the ones from allowed domains.
That makes it possible to change allowed domains on-the-fly,
while still allowing media in individual messages to be shown manually
(via the message actions dropdown).
* Merge `embed_audio`, `embed_video` and `show_images_inline` into `render_media`
* Create new config settings for allowable domains for images, video and audio
* Check the URL domain against a whitelist for the message actions dropdown
2021-09-21 17:08:30 +02:00
JC Brand
ed490fc202
Create directory for modal plugin
2021-09-20 11:13:26 +02:00
ayu
ae6dbeb287
Update vcard.js
...
Example code wouldn't work anymore.
2021-09-18 21:59:17 +02:00
JC Brand
75fee76693
Fixes #2650
2021-09-14 22:27:49 +02:00
JC Brand
caffcaaef2
Move occupant-related tests into new file
2021-09-14 22:03:10 +02:00
JC Brand
2b7624e622
Make sure all files are used when generating API docs
2021-09-14 15:04:12 +02:00
JC Brand
ad501d4309
Avoid AttributeError when _converse.disco_entities
is undefined
2021-09-13 14:23:46 +02:00
Ariel Fuggini
d44abbb48e
Adds hook to fetchLoginCredentials function ( #2640 )
...
* Adds hook to fetchLoginCredentials function
* Adds documentation
2021-09-10 16:12:46 +02:00
JC Brand
40a49042e9
Postrelease
2021-09-09 22:43:37 +02:00
JC Brand
6b3f8a3f39
Release 8.0.1
2021-09-09 22:09:26 +02:00
Allan Nordhøy
2c1d6e3ecb
Translated using Weblate (Norwegian Bokmål)
...
Currently translated at 70.9% (362 of 510 strings)
Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/nb_NO/
2021-09-09 21:45:42 +02:00
JC Brand
906a606010
Get rid of unnecessary specificity and functions
2021-09-09 11:35:00 +02:00
JC Brand
ef2c206507
Fix failing test
2021-09-09 11:12:31 +02:00
JC Brand
b78c19f6f2
Fix showing of HTML5 notifications for MEP messages
2021-09-08 17:30:30 +02:00
JC Brand
8aa16ea0be
Fix broken import
2021-09-08 10:52:37 +02:00
JC Brand
8d01d7a710
Use optional chaining and update changelog
2021-09-08 10:35:46 +02:00
The Stranjer
660d765c59
Ensure that the converse session is actually present ( #2636 )
...
* Ensure that the converse session is actually present before trying to get anything out of it
* Update changelog
2021-09-08 10:32:59 +02:00
JC Brand
8f34065fc0
Also create MEP messages received from a MAM archive
2021-09-08 10:22:26 +02:00
JC Brand
f40a8f69ae
Don't show minimized chats when logged out
2021-09-06 22:08:36 +02:00
JC Brand
286ab1ad83
Fixes #2633 .
2021-09-06 21:56:56 +02:00
JC Brand
f04a376653
Fixes #2628 : Open bookmarks toggle emits an error
2021-09-06 21:29:35 +02:00
JC Brand
b75e67fafa
Fixes #2629 OMEMO button tooltip is wrong in private chat
2021-09-06 20:59:26 +02:00
JC Brand
8854f67c20
Bugfix: Image previews not loading when not serving Converse locally
...
Fixes #2634
2021-09-06 20:00:01 +02:00
JC Brand
9b4ce0011e
Postrelease
2021-09-04 09:42:45 +02:00
JC Brand
c03bc7d600
Prepare release 8.0.0
2021-09-03 15:40:11 +02:00
random r
8f2f3e6498
Translated using Weblate (Italian)
...
Currently translated at 100.0% (510 of 510 strings)
Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/it/
2021-09-03 14:44:41 +02:00
ButterflyOfFire
730cb9c822
Translated using Weblate (Arabic)
...
Currently translated at 69.8% (356 of 510 strings)
Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ar/
2021-09-03 14:44:41 +02:00
Tymofii Lytvynenko
acbd6000fc
Translated using Weblate (Ukrainian)
...
Currently translated at 33.7% (172 of 510 strings)
Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/uk/
2021-09-03 14:44:41 +02:00
Xosé M
e80a12a8a4
Translated using Weblate (Galician)
...
Currently translated at 100.0% (510 of 510 strings)
Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/gl/
2021-09-03 14:44:41 +02:00
Quentin PAGÈS
a21abae5f6
Translated using Weblate (Occitan)
...
Currently translated at 81.5% (416 of 510 strings)
Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/oc/
2021-09-03 14:38:43 +02:00
JC Brand
5095027a0b
Don't render OOB url if it's the same as the body
...
Otherwise the file gets shown/rendered twice.
2021-09-01 10:35:32 +02:00
JC Brand
5dc89fb2b3
Ignore 'minimized' flag when not in overlayed view mode
2021-08-31 12:11:27 +02:00
JC Brand
353a90788c
Make IndexedDB
the default persistent store
2021-08-31 12:11:27 +02:00
JC Brand
90ea092e4d
Register a XEP-0316 MEP handler
...
Add caps element to the MUC join presence, so that the MUC MEP node can
know whether we're interested in receiving MEP messages.
Create info messages for any `conference-info` tags that contain `activity` tags.
Check for both `headline` and `normal` MEP messages (even though the XEP
only show `headline` examples), since `normal` messages can be archived
in MAM, but `headline` ones not.
Update the XEP-0372 reference-parsing code to take the `anchor`
attribute into consideration, specifically to check which text element
the reference applies to.
Add support for rendering XEP-0372 mentions in "info" messages and for
triggering HTML5 Desktop notifications for such mentions.
Background:
-----------
XEP-0316 describes a way for a MUC to send out PEP-like messages to MUC
participants. This feature can be used to describe custom activity happening
in the MUC.
2021-08-31 11:23:49 +02:00
JC Brand
7e88ffd098
Move MUC functions to utils
2021-08-31 11:23:49 +02:00
JC Brand
6827e21df1
Fix race conditions in tests
2021-08-31 11:23:49 +02:00
JC Brand
0c0af2d00b
Fix the minimized chats toggle
...
Clicking didn't make the minimized chats appear.
Also turn it into a Lit component
2021-08-29 00:15:45 +02:00
JC Brand
6c3a3dd1d3
Fix background for overlayed mode
2021-08-29 00:15:45 +02:00
JC Brand
9edab0729f
Bump localforage
2021-08-26 06:30:39 +02:00
JC Brand
9cef50323a
Add two new sponsors
2021-08-26 06:24:02 +02:00
JC Brand
df53282b6e
Bump dayjs
2021-08-25 14:32:34 +02:00
JC Brand
f739b9d37d
Fix encrypted images not showing inline.
...
Updates #1182 #2554
2021-08-24 20:03:04 +02:00
JC Brand
8eac031047
Re-add wrapper anchor for unfurl images
...
We don't want the wrapper for interactive elements (GIF, video, audio),
but for images we still want them to link to the unfurled URL.
2021-08-10 13:45:56 +02:00
JC Brand
edd3b681c5
Create converse-message-versions
component
...
Enables re-use outside of the message versions modal.
2021-08-10 10:48:50 +02:00
JC Brand
82ade54caa
Use converse-icon to show message edited icon/toggle
2021-08-09 15:53:50 +02:00
JC Brand
610e334bed
Use converse-icon
in the modtools modal
2021-08-06 13:38:12 +02:00
JC Brand
44a573b6c4
Handle GIFs inside Unfurls
...
- Add ability to play/pause by using `converse-rich-text`
- Make `converse-rich-text` component configurable whether the media URLs for GIF/audio/video are shown
- Add fallback options for GIFs that have errors
2021-08-03 12:14:13 +02:00
JC Brand
95fbd55a19
Fixes #2583
2021-07-30 09:58:35 +02:00
JC Brand
d0627f800c
Clear unread message counters when chat becomes visible
2021-07-30 09:56:17 +02:00
JC Brand
ac36407d1d
Immediately draw and clear pause icon...
...
as you move the mouse over or away from a gif
2021-07-29 21:21:51 +02:00
JC Brand
ebfda5c86e
Fix GIF rendering
...
- Fix some GIFs getting stuck
- Add a delay of 80ms for GIFs that specify a delay of 0
- Refactor slightly and add JSDoc
- Remove the unused `loop_delay` option, to allow further simplification of the code
2021-07-29 13:24:27 +02:00
JC Brand
106cde9262
Update modtools component...
...
to accept jid and affiliation and to not use a Model to store state
2021-07-28 13:28:01 +02:00
JC Brand
7b4f8954b3
No longer necessary to import Bootstrap dropdown styles in index
2021-07-27 14:51:43 +02:00
JC Brand
0242fdb020
Extract moderator tools functionality and put it in a component
...
This makes it easier for 3rd parties to embed it in other modals (besides the bootstrap modal).
2021-07-27 12:53:39 +02:00
JC Brand
10c610232c
Use converse-icon instead of webfonts in heading dropdown
2021-07-27 11:11:36 +02:00
JC Brand
c961615609
Move converse-dropdown
styles in separate file
...
And add some tweaks
2021-07-27 10:53:23 +02:00
JC Brand
55146820e3
Use converse-icon
in the converse-dropdown
component
...
Instead of using webfonts
2021-07-26 19:27:59 +02:00
JC Brand
0ccf25d986
Add support for controlling (e.g. pausing, looping) gifs
...
- Create new component `converse-gif`
- Draw gif in canvas and add controlls
2021-07-23 19:31:43 +02:00
JC Brand
316748988b
Allow contact's profile modal to be shown...
...
even if there is now OMEMO device info
2021-07-23 18:30:07 +02:00
JC Brand
7075c9feee
Move modal test out of spec
2021-07-19 16:40:40 +02:00
JC Brand
5cce34eb40
Split push plugin up into multiple files
2021-07-19 16:40:40 +02:00
JC Brand
60826ac6c6
Move functions out of core.js
2021-07-19 16:40:40 +02:00
JC Brand
8931c61876
Prevent attribute error on timeout
2021-07-19 16:40:40 +02:00
JC Brand
d1abf3a04e
Wait for roster to be initialized
2021-07-19 16:40:40 +02:00
JC Brand
2bdea0dd18
Move settings API from core.js to own file
...
Move CORE_PLUGINS to `constants.js`
2021-07-19 15:50:50 +02:00
JC Brand
d2a35d4ce1
Turn converse-roster
and converse-roster-filter
into Lit elements
2021-07-15 17:26:09 +02:00
JC Brand
8de4671603
Replace more elements that use font icons with svg icons
2021-07-15 16:28:12 +02:00
JC Brand
c209b9e2b9
Bump urijs to 1.19.7
2021-07-15 14:18:51 +02:00
JC Brand
2bcf01f5ab
Use DOMPurify instead of XSS.js
...
Remove exports-loader, which is therefore no longer necessary
2021-07-15 14:16:41 +02:00
JC Brand
3c0a621b47
Bump various dependencies
2021-07-15 11:54:55 +02:00
JC Brand
fe3650d766
Bugfix. XEP-0198 stream management not working when using IndexedDB
...
The issue was that batched writing was incorrectly also being applied
for sessionStorage stores, so when the `active` flag in
`_converse.session` was being set to `false` on window unload, the
change wasn't persisted before the window was unloaded.
This caused a new session to be created upon reload, thereby losing the
SMACKS data.
We already solved this for persistent stores by flushing them, and
doing so for the session stores would also work, but session stores
don't have to be batched in the first place, so we turn that off.
2021-07-08 15:57:06 +02:00
JC Brand
46201613a6
Bump skeletor to 0.0.5
2021-07-08 10:33:35 +02:00
JC Brand
f2aa39e1c3
Identify media URLs during message parsing
2021-07-06 13:35:22 +02:00
JC Brand
b90a435833
Move url related utility methods to @converse/headless
2021-07-05 18:35:58 +02:00
JC Brand
bff714f24c
OMEMO: Include XEP-0380 EME tag in encrypted messages
2021-07-05 18:35:58 +02:00
JC Brand
06460507d4
Don't let message actions drop upwards if...
...
it's the first (or second) message in the history, otherwise it might
appear behind the chat header.
2021-07-05 18:35:58 +02:00
JC Brand
01efb02f9e
Make sure XEP-0363 urls are also OMEMO encrypted
...
by re-using `ChatBox.prototype.sendMessage`.
updates #1182
2021-07-03 00:22:03 +02:00
JC Brand
3d8852950d
Add ability to let dropdown appear at the top, left-aligned
...
And use that for the last message in the chat history, otherwise the
dropdown is obscured.
2021-07-01 15:23:37 +02:00
JC Brand
e675c853f3
Add XEP-0454 support for encrypting files
...
Fixes #1182
2021-07-01 14:35:48 +02:00
JC Brand
6665bef76c
Fix failing tests
...
Handle missing message model (happens during tests)
2021-06-29 16:00:10 +02:00
JC Brand
dff5f485c9
Split out MUC tests
2021-06-29 15:59:49 +02:00
JC Brand
4047d619a1
Remove lodash dependency in tests
2021-06-29 15:59:49 +02:00
JC Brand
956a890b94
Don't reject on error in sendTimedMessage
...
It's the only way I could get a failing test (due to the Jasmine upgrade AFAIK) to pass.
I don't understand why this happens, given that the promise has a
`catch` clause in `retractOwnMessage`, but for some reason the promise
rejection gets caught by Jasmine, causing the test to fail.
2021-06-29 15:59:49 +02:00
JC Brand
767d5ec91d
fix failing test
2021-06-29 15:59:49 +02:00
JC Brand
335a491e0d
Stop using the Jasmine "done" callback
2021-06-29 15:59:49 +02:00
JC Brand
3e9f028bf4
Update more 3rd party deps
2021-06-29 13:00:36 +02:00
JC Brand
8506646db2
Remove unnecessary event trigger
2021-06-29 12:57:48 +02:00
JC Brand
be329a2d10
Don't subclass the chatbox for the controlbox model
2021-06-29 12:55:29 +02:00
JC Brand
73989e09a9
Fixes concerning dropdowns
2021-06-29 11:33:24 +02:00
JC Brand
46f567d0d1
Fix memory leak in sessionStorage
...
The disco entities collection gets recreated and repopulated every time
the connection is re-established or after the user logs in again after
having logged out.
The old disco entities weren't being removed, due to an erroneous
`shouldClearCache` call (not applicable to sessionStorage data).
In addition we need a handler to fire and clear the entities cache when
Converse is going to restart.
2021-06-29 11:20:50 +02:00
JC Brand
18f883545b
Remove duplicate method
2021-06-25 18:19:01 +02:00
ubermanu
524e14f464
Register the document events once the picker is connected
2021-06-25 17:29:06 +02:00
ubermanu
7503de27c5
Remove document event listener once the dropdown is disconnected
2021-06-25 17:29:06 +02:00
JC Brand
14020125b9
Remove sinon and bump npm
2021-06-25 11:21:17 +02:00
JC Brand
0f82b76c09
fix failing test due to i18n string change
2021-06-25 10:59:13 +02:00
dhruva dhruva
f9a2719507
Translated using Weblate (Romanian)
...
Currently translated at 43.7% (223 of 510 strings)
Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ro/
2021-06-25 10:43:37 +02:00
juliojulian
0b00d4f9e1
Translated using Weblate (Spanish)
...
Currently translated at 90.7% (463 of 510 strings)
Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/es/
2021-06-25 10:43:37 +02:00
Luna Jernberg
aa80093665
Translated using Weblate (Swedish)
...
Currently translated at 99.6% (509 of 511 strings)
Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/sv/
2021-06-25 10:43:33 +02:00
G
778121010f
Translated using Weblate (Polish)
...
Currently translated at 92.7% (473 of 510 strings)
Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pl/
2021-06-25 10:43:07 +02:00
lilim
a5c391a6a3
Translated using Weblate (French)
...
Currently translated at 100.0% (510 of 510 strings)
Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fr/
2021-06-25 10:43:07 +02:00
ssantos
f846cb1b20
Translated using Weblate (Portuguese)
...
Currently translated at 100.0% (510 of 510 strings)
Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt/
2021-06-25 10:43:07 +02:00
bashl
789d3438e3
Translated using Weblate (Portuguese (Brazil))
...
Currently translated at 98.8% (504 of 510 strings)
Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/pt_BR/
2021-06-25 10:43:07 +02:00
Xosé M
f6de5247d6
Translated using Weblate (Galician)
...
Currently translated at 100.0% (510 of 510 strings)
Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/gl/
2021-06-25 10:43:07 +02:00
member7me
c80d65cf60
Translated using Weblate (Russian)
...
Currently translated at 100.0% (510 of 510 strings)
Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ru/
2021-06-25 10:43:07 +02:00
Oğuz Ersen
cba44998b9
Translated using Weblate (Turkish)
...
Currently translated at 100.0% (510 of 510 strings)
Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/tr/
2021-06-25 10:43:07 +02:00
JC Brand
ba0ea6c2c4
Update translations based on suggestions from Zash on weblate
2021-06-25 10:38:38 +02:00
JC Brand
7848d8cb2f
Add support for decrypting XEP-0454 OMEMO media
2021-06-25 09:24:18 +02:00
JC Brand
2c0fbec43c
Move arraybuffer utility methods into their own file
2021-06-24 18:57:32 +02:00
JC Brand
c5de9dd9f1
Render embedded media with full width in overlayed view mode
2021-06-24 16:13:02 +02:00
JC Brand
92093d6d28
Further style tweaks for embedded media
2021-06-24 13:04:25 +02:00
JC Brand
670f435c64
Set max widths with embedded audio and video content
2021-06-24 12:51:02 +02:00
JC Brand
846dfd6762
Allow subdomains to be passed for domain whitelists
2021-06-24 12:36:51 +02:00
JC Brand
e00bf3da36
Make sure unread messages are cleared when showing a chat
2021-06-23 17:18:32 +02:00
JC Brand
9e21813251
Move tests into new file
2021-06-23 17:11:13 +02:00
JC Brand
3d3242c00d
Bugfix. Images automatically load in modal
2021-06-23 13:24:05 +02:00
JC Brand
522998bade
converse-roster: dedupe group names
2021-06-23 12:02:47 +02:00
JC Brand
629f382642
converse-roster: Move functions to utils
2021-06-23 12:02:47 +02:00
JC Brand
ad96db994e
Fix failing tests on Travis
2021-06-23 10:52:32 +02:00
JC Brand
958d98a1a1
Use mock method in test
2021-06-22 17:04:27 +02:00
JC Brand
fb6bafdf6c
Styling: Fix an offset bug
...
That caused empty inline code hints to be considered valid.
Also update the tests that were failing due to the changes in the
previous commit.
2021-06-22 16:54:05 +02:00
JC Brand
6dea5959cc
Use API to get chat/room models in components
2021-06-22 14:47:35 +02:00
JC Brand
afd737f965
Fixes #2520
2021-06-22 12:50:50 +02:00
JC Brand
8de6e78729
In converse-muc-chatarea
, use API to get room
...
and handle asynchronicity.
2021-06-18 11:56:35 +02:00
JC Brand
be8a47b672
Avoid rendering borders for empty unfurl
2021-06-18 11:37:33 +02:00
JC Brand
cf11f2588c
Rename method
2021-06-18 11:35:38 +02:00
JC Brand
bb60f8cff4
Move trigger out of while loop
2021-06-18 10:21:03 +02:00
JC Brand
42b15497fc
New event historyPruned
2021-06-18 10:07:30 +02:00
JC Brand
f598b7d267
Fix function not being exported
2021-06-17 16:32:58 +02:00
JC Brand
619fb538d7
Show video download URL
2021-06-17 15:50:10 +02:00
JC Brand
095d9b60cd
Render audio from URLs in messages
2021-06-17 15:24:25 +02:00
JC Brand
33b426c79e
Render videos from URLs in messages
2021-06-17 14:06:18 +02:00
JC Brand
2ac49fb9a5
Bugfix. Images being rendered when they shouldn't
2021-06-17 14:06:18 +02:00
JC Brand
b071a0e22f
MAM: Prevent multiple simultaneous queries when scrolling up
2021-06-17 11:39:20 +02:00
JC Brand
b6f2662ad7
Set 'scrolled'
flag on model.ui
...
This prevents it from being persisted across page loads and makes more
sense logically.
Also move markScrolled to utils and MUC unread messages indicator to bottom panel.
2021-06-17 11:39:20 +02:00
JC Brand
5ea9564cc3
Add new configuration setting prune_messages_above
...
If set to a positive integer, the chat history will be kept to that size
by removing older messages.
This happens as new messages come in (as long as the chat isn't scrolled up)
and when the user scrolls down.
Also add the `pruning_behavior` setting
2021-06-17 11:39:20 +02:00
JC Brand
85a651ae79
Move functions to utils
2021-06-17 11:35:06 +02:00
JC Brand
dc711d494f
Add a placeholder to indicate a gap in the message history
...
The user can click the placeholder to fill in the gap.
2021-06-17 11:35:06 +02:00
JC Brand
14f0ed43c5
Add dayjs as dependency to @converse/headless
2021-06-16 14:47:34 +02:00
JC Brand
6f318bc86d
Fix reference error
2021-06-16 14:47:34 +02:00
JC Brand
bbc952b265
Fix MUC and headlines heaidngs, so that they still work
...
as ElementViews, since I ran out of time converting them to lit
components as well.
This reverts commit 1121a90af0
.
2021-06-15 11:09:34 +02:00
JC Brand
1121a90af0
Revert "Turn heading into a lit component"
...
This reverts commit 969b2f2e11
.
2021-06-15 10:52:17 +02:00
JC Brand
969b2f2e11
Turn heading into a lit component
2021-06-15 10:33:33 +02:00
JC Brand
8907adc236
Move method to utils
2021-06-15 10:03:10 +02:00
JC Brand
c8304497b5
Remove onStatusMessageChanged handler
...
It's no longer necessary and calls a method that doesn't exist anymore.
2021-06-15 09:59:40 +02:00
JC Brand
68f0be996f
Let chats be closed by calling close
on the models
...
Instead of on the views/components.
We still have `close` methods on the components, but they are just
event handlers and not external API methods to be called by other code.
Instead `close` should be called on the model.
2021-06-15 09:59:40 +02:00
JC Brand
9fb92080f2
Get rid of the APIs to fetch chat views
...
This is largely a leftover from the Backbone.View days and makes less
sense now that the UI is componentized.
Ideally we don't want to call commands on the "views themselves, instead
we should be working on the the models and let the "views" update
themselves automatically.
Also, given that the `jid` attribute on the chat views might change,
especially when rendered declaratively in other frameworks like React,
a view might not be available at times where we previously might have
expected it to be (since it's been repurposed for a different JID).
2021-06-15 09:59:40 +02:00
JC Brand
ba1b712fee
Move functions to utils
2021-06-14 12:03:27 +02:00
JC Brand
543cf9066a
Bugfix. TypeError: cannot read property 'length' of undefined
2021-06-14 10:50:58 +02:00
JC Brand
bccd4a81b8
Add missing test file
2021-06-11 16:55:37 +02:00
JC Brand
17d9d2766d
BUgfix. undefined
used as store prefix
2021-06-11 16:53:19 +02:00
JC Brand
2bbb889196
Unfurls fix
2021-06-10 13:37:11 +02:00
JC Brand
ff1b6d3adf
MUC: Don't first check if we're registered before unregistering
...
The IQ stanza being sent to check was in any case incorrect and it
doesn't seem necessary.
2021-06-10 10:40:45 +02:00
JC Brand
39d60f05c3
Remove twitter link from homepage. Make navbar more visible
2021-06-10 10:07:19 +02:00
JC Brand
54d6a6af56
Unfurls: gracefully handle missing OGP data
2021-06-09 20:54:08 +02:00
JC Brand
878a3b49a7
Prevent multiple 'New messages' dividers from appearing
...
Would happen when scrolled up and a new message comes in
2021-06-07 19:58:55 +02:00
JC Brand
825e2643ae
Use flex-direction: column-reverse
...
On the `<converse-chat-content>` element. This removes the need for all
the manual scrolling.
Firefox finally supports this feature. Unfortunately Firefox ESR doesn't
yet, but I can't wait anymore.
2021-06-07 19:26:16 +02:00
JC Brand
9bcf5f2947
Scrolling fixes
...
* Remove extra `_markScrolled` function
* Only try to maintain scrolling position when some non-scrolling change has happened.
2021-06-07 17:54:38 +02:00
JC Brand
c966c49304
Fixes #2500
...
This wrongly stored value wasn't inlcuded in the published the bundle
because the libsignal store was used, which had the right value for the public key.
Instead, this value was used locally by being passed to the libsignal
session builder to verify signed prekey.
2021-06-07 13:49:21 +02:00
JC Brand
90dff612c7
Re-initialize chat components when jid attribute changes
2021-06-07 12:53:35 +02:00
JC Brand
9e4a4ba2ff
Add example for retractOtherMessage
2021-06-07 10:10:19 +02:00
JC Brand
e3612e8c62
Turn the chats into Lit components
...
Previously they were of type ElementView from @converse/skeletor
The ElementView component is merely a helper to allow us to eventually
migrate everything to Lit
2021-06-04 15:22:52 +02:00
JC Brand
06c4ded063
Get rid of impperative code to render help messages
...
in 1:1 chat
2021-06-04 13:41:01 +02:00
JC Brand
ff233a5b1c
Merge branch 'jcbrand/declarative-scrolling'
2021-06-04 12:59:52 +02:00
JC Brand
982586b0e6
Move protocol tests to plugin
2021-06-04 12:53:03 +02:00
JC Brand
ae5a13bb06
Move emojis tests into plugins
2021-06-04 12:53:03 +02:00
JC Brand
f3efbba26c
Create converse-message-form
component
...
More work on making bottom panel sub-components declarative
- Handle auto-completion in the converse-muc-message-form element
- Make message limit indicator a component
- Rename template
2021-06-04 12:53:03 +02:00
ubermanu
2f7dcb6bbc
Move decodeHTMLEntities util into headless
2021-06-03 19:23:49 +02:00
JC Brand
623deac3ec
Fix race condition in test
2021-06-03 18:36:26 +02:00
JC Brand
58d96c8594
Use intersection observer to remember scrolling position
2021-06-03 18:24:55 +02:00
Christoph Scholz
8701708b53
fix /nick command not working
2021-06-03 17:29:45 +02:00
JC Brand
279a3c3413
Add saveScrollPosition method on ChatContent
2021-06-03 15:32:39 +02:00
JC Brand
fe3e63d8c5
Declarative scrolling and rendering new messages indicator
...
- Increment `num_unread` when new messages appear while scrolled up
- Set scrolling state in model code (as opposed to view)
2021-06-03 14:16:03 +02:00
JC Brand
ec93e2fff3
Render chat messages loading spinner declaratively
...
instead of imperatively.
Add new non-persisted UI model for rendering UI changes. Currently only
being used for rendering the spinner
2021-06-03 00:02:33 +02:00
JC Brand
59d55b3526
Add option to deregister nickname when closing a MUC
...
By setting `auto_register_muc_nickname` to `'unregister'`
2021-06-02 22:06:57 +02:00
JC Brand
0756af2b30
Refactor chat close
methods
...
- Remove the shared base-class method.
- Trigger `chatBoxClosed` on the model
- Send CSN from the model, not the view
2021-06-02 17:55:52 +02:00
JC Brand
1598640c80
Remove line-breaks from message image markup
...
We use `white-space: pre-wrap` to render the messages, so line-breaks in
the markup add unnecessary space.
2021-06-01 14:56:43 +02:00
JC Brand
994e528b45
Bugfix. Properly escape | character in mentioned nicknames
2021-05-19 14:47:20 +02:00
JC Brand
06f03fc884
MUC: Store disconnection data on the session
2021-05-13 15:45:12 +02:00
JC Brand
698f3a7b15
Bugfix. Can't call tagName
on a Strophe.Builder object
2021-05-13 14:41:44 +02:00
JC Brand
c0c8fbac38
Wrongly passed data to the context parameter in hook
...
Causes `undefined` to be returned from `constructPresence` when `converse-caps` is not enabled
2021-05-13 12:15:39 +02:00
JC Brand
19b34231d4
JSDoc improvements
2021-05-13 11:44:19 +02:00
JC Brand
ad53a3c9a1
Message styling fix
...
Don't parse text that falls within XEP-0372 references ranges for
message styling hints.
2021-05-13 11:20:03 +02:00
JC Brand
58b59fe263
Move more tests from spec folder
2021-05-12 12:41:19 +02:00
JC Brand
d71ab6d30d
Bugfix. Need to pass in group name since this
is undefined
2021-05-12 12:26:16 +02:00
JC Brand
2b12f8e257
Use lodash-es everywhere
2021-05-12 12:14:28 +02:00
JC Brand
9e81fa495e
Upgrade pluggable.js and skeletor
2021-05-12 12:13:10 +02:00
JC Brand
f40bbbf145
Turn status plugin into folder
...
Remove the use of an override and add a hook `presenceConstructed` instead
2021-05-11 17:04:15 +02:00
JC Brand
1fc44b9d8e
Turn caps plugin into folder.
...
Move more test files to plugins
2021-05-11 16:18:34 +02:00
JC Brand
7bd0d9a83f
Bugfix. Don't re-init bookmarks on reconnection
...
This causes an empty bookmarks list in the controlbox, because the
collection gets cleared (and then asynchronousy repopulated) while the
`bookmarksInitialized` promise stays `true` (resulting in a race
condition).
Alternative fix could be to clear the bookmarks and recreate the promise
before reconnecting but doesn't seem necessary to do all that work.
2021-05-07 12:27:29 +02:00
JC Brand
c8f0406c84
Refactor bookmark plugins
...
Mainly moving functions and methods to utils
2021-05-07 12:27:29 +02:00
JC Brand
18e3b618b4
Some light chat views refactoring
...
- Move `showModeratorToolsModal` method from view to utils
- Move `getNicknameRequiredTemplate` method from view to utils
- Move common `close` code to base class
2021-05-07 11:23:52 +02:00
JC Brand
fdc81fa4ea
Use .conversejs
instead of .converse-root
...
as the class that designates standalone Converse components.
2021-05-06 12:21:35 +02:00
JC Brand
dd609c1cec
Get the webpack dev server to work again
...
This required triggering the `converse-loaded` event in the entry.js
file, which means it won't be triggered for `@converse/headless` when
used in isolation.
Not ideal, but probably ok because consumers of `@converse/headless`
should probably import it into their own project in any case.
2021-05-06 12:07:44 +02:00
JC Brand
d0594a6bfc
Add new test for <converse-muc>
2021-04-30 18:01:53 +02:00
JC Brand
9c11e0dc32
Use .converse-root
class instead of #conversejs
id
2021-04-30 17:36:42 +02:00
JC Brand
4bdafb8ea3
Break Sass up into more files
...
And import where appropriate to allow for custom builds that are still styled properly
2021-04-30 17:36:40 +02:00