Commit Graph

8127 Commits

Author SHA1 Message Date
JC Brand
f0297fe075 Add status and show elements to MUC join presence in status plugin
and not in the muc plugin.

This decouples the plugins more. Ideally we can remove the status plugin
entirely from a customized Converse build (but we're not there yet).
2022-04-07 11:08:00 +02:00
JC Brand
4d4e0ffc8d Bump minimist to 1.2.6 2022-04-06 23:30:48 +02:00
badlop
e202ac9964 Add "dracula" to the "theme" option documentation 2022-04-06 23:20:33 +02:00
ubermanu
5c5825fb75 Add missing headless dependencies 2022-04-06 23:16:09 +02:00
ubermanu
e0e1fd4f02 Update lock file with root node version (16.3) 2022-04-06 23:10:13 +02:00
ubermanu
5e4fa98577 Add subdir to repo information 2022-04-06 23:10:13 +02:00
ubermanu
7e18873bcd Target to converse default export 2022-04-06 23:10:13 +02:00
ubermanu
592d982210 Include all headless files except tests 2022-04-06 23:10:13 +02:00
JC Brand
9d4382c754 Move emoji functions to utils.js
Also, move various emoji utility methods out of @converse/headless, and
thereby remove the dependency on lit-html
2022-04-06 23:07:16 +02:00
JC Brand
b1a448f1e9 Update OMEMO documentation 2022-04-06 10:10:41 +02:00
JC Brand
af342456c5 Add enterkeyhint attribute to message form inputs 2022-04-06 09:55:56 +02:00
JC Brand
5d3895078b Use the loading HTML attr to lazily load images 2022-04-06 08:33:23 +02:00
JC Brand
0464381cac Bump node-forge 2022-04-05 11:33:57 +02:00
JC Brand
32a443408a Bugfix. GIF unfurl images not loading...
and causing `TypeError: this.shouldRenderMedia is not a function`
2022-04-04 16:31:32 +02:00
JC Brand
b429484501 Move csi_waiting_time setting to the converse-status plugin 2022-04-04 15:03:57 +02:00
JC Brand
2fa1d00fb4 Postrelease
- Pull first before installing node via nvm
2022-04-02 20:39:42 +02:00
JC Brand
c590c4f4bb Updated to latest Sphinx version 2022-04-02 20:32:34 +02:00
JC Brand
6b1845ff39 Release 9.1.0 2022-04-02 19:31:37 +02:00
JC Brand
fb704fdf87 Don't import from i18n in headless 2022-04-02 15:55:56 +02:00
Ricky Tigg
f6a985c24f Translated using Weblate (Finnish)
Currently translated at 83.5% (426 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/fi/
2022-04-01 15:51:52 +02:00
Edward
44cd910154 Translated using Weblate (Romanian)
Currently translated at 45.0% (230 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/ro/
2022-04-01 15:51:52 +02:00
Γκουλιούμης Θεόδωρος
f21fc90629 Translated using Weblate (Greek)
Currently translated at 0.3% (2 of 510 strings)

Translation: Converse.js/Translations
Translate-URL: https://hosted.weblate.org/projects/conversejs/translations/el/
2022-04-01 15:51:52 +02:00
Hasan
21fb57ecfd
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/
2022-03-31 09:33:27 +02:00
Xosé M
3bb645ce24
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/
2022-03-31 09:33:27 +02:00
JC Brand
fd991846f4 Replace ElementView with CustomElement for RoomsList 2022-03-30 09:50:36 +02:00
JC Brand
523566c218 Move MUC tests into their own files 2022-03-30 09:48:39 +02:00
JC Brand
cd1c6a4d23 Update the style guide 2022-03-29 22:55:48 +02:00
JC Brand
c3933426b9 Refactor checkFileTypes
- Don't check the protocol in `checkFileTypes`, it should be doing one
    thing only, and that is check whether the URL ends with a particular
    file extension.
- Raise an error when a URI object can't be created from the passed in URL

Adds new function `isAllowedProtocolForMedia` which checks whether the
URL points to a file on the file system (`file:`), is in a Chrome
extension or uses HTTPs.

Use that in `shouldRenderMediaFromURL` to filter out URLs that shouldn't
be rendered.

Re-add utility methods to the `u` object so that 3rd party plugins can
use them.
2022-03-29 19:41:16 +02:00
Keith Maika
be561addfa Fix endless loop of adding .png to image URL. 2022-03-29 19:08:39 +02:00
JC Brand
c379fe80fb Handle 'forbidden' MUC errors with type 'cancel' and add fallthrough 2022-03-29 10:36:32 +02:00
JC Brand
5ef0f3ad5d CSS: various color fixes between light/dark themes 2022-03-29 10:35:25 +02:00
JC Brand
d570b6095e Don't make the connection URL input required
It might be that it's shown in response to a failed XEP-156 lookup
because the user mistyped.

In which case the user can just correct the JID and try again, without
entering a connection URL.
2022-03-25 08:54:38 +01:00
JC Brand
fca275b7c9 Refactor the login form
Render the form based on `api.settings` instead of its own model.

When the login form is submitted, save the JID, password and connection
URL to `api.settings`.

Set the `service` on the Strophe connection object just before
connecting for the first time, otherwise a user supplied URL (via the
login form) is never used.

New API setting: show_connection_url_input
2022-03-24 23:15:30 +01:00
JC Brand
e160ee2ed5 Add JID and password values to login form (if available) 2022-03-24 21:05:40 +01:00
JC Brand
70aa22d12d Update to latest LTS version of NodeJS 2022-03-23 22:14:19 +01:00
JC Brand
fbfd6c3ac4 Updates #2849: add test for incoming MUC OMEMO corrections 2022-03-23 21:30:53 +01:00
JC Brand
7355c2c5fe Updates #2849
Add test case for incoming OMEMO message corrections.

The correction was being ignored because the parsed `msgid` of an
incoming correction was set to the `msgid` of the message being
replaced.
2022-03-22 23:12:45 +01:00
JC Brand
297869c59f Don't explicitly sort messages.
Apparently not necessary, I was wrong about the race condition in 82fb263438
2022-03-15 21:24:32 +01:00
JC Brand
defea1631c Bugfix. Don't ignore groupchat messages that contain receipt requests 2022-03-15 11:35:15 +01:00
JC Brand
82fb263438 Explicitly sort messages before pruning
to avoid a race-condition where messages aren't sorted and the wrong
message gets pruned.
2022-03-14 21:19:43 +01:00
JC Brand
d2b9c954d9 MUC: move some tests to headless plugin 2022-03-14 20:35:01 +01:00
JC Brand
f9a9d327d1 Use body as attribute for the message body text
For error messages we still use the `message` attribute, since error
messages generally don't have a body, and if one does, it likely refers
to the `body` of a rejected message that the error refers to.

We're still setting both `body` and `message` attributes, but usage of
`message` for a normal `chat`, `groupchat` or `headline` stanza should
be considered deprecated.
2022-03-14 09:28:34 +01:00
JC Brand
d2622f6fed Fixes #2557
Add the ability to send OMEMO corrections.

Refactor how OMEMO messages are sent to avoid having to override
`sendMessage` and thereby also allowing corrections of OMEMO messages to
be sent out.

Add two new hooks.
- getOutgoingMessageAttributes
- createMessageStanza
2022-03-13 10:02:34 +01:00
JC Brand
731e98b07c OMEMO fixes for completely new user
Fix bugs related to there not being a server-side device list (not even an empty one) for a new user.
2022-03-13 10:02:34 +01:00
JC Brand
89a3c81a19 OMEMO: don't wait for all device lists...
to be fetched from the server before triggering OMEMOInitialized.

For some contacts, the IQ to fetch the device list never receives a
response. IQ stanzas take 20 seconds to timeout, which means that all
OMEMO operations are blocked for 20 seconds (because everything waits
for `OMEMOInitialized`).

Create a new API method `api.omemo.devicelists.get` and use that to
fetch and `await` for any devicelist. That way we lazily wait for
devicelists to be fetched from the server and can continue with other
OMEMO operations unrelated to users who's clients don't respond to
devicelist queries.
2022-03-10 20:51:04 +01:00
JC Brand
2133241998 CSS: Fix chat title width and elipsis color
in overlayed view mode.
2022-03-10 20:51:04 +01:00
JC Brand
47b016599e Stop using this in tests.
It will be unsupported in future versions of Jasmine
2022-03-09 12:44:49 +01:00
JC Brand
e52056bb33 Refactor the emoji-picker somewhat
Trigger an `emojiSelected` event instead of manually calling `insertIntoTextArea` on the `converse-message-form` a component.
This loosens the coupling between the emoji picker and `converse-message-form`.

Call `disableArrowNavigation` when the emoji-picker is disconnected from
the DOM or when escape is pressed. See #2754
2022-03-09 12:44:33 +01:00
JC Brand
1c0ce25f12 Move keycodes and chat states to constants.js 2022-03-09 12:22:44 +01:00
JC Brand
c42bd90c9d Don't clear textarea on escape, unless we're correcting a message 2022-03-09 11:24:32 +01:00