Commit Graph

83 Commits

Author SHA1 Message Date
JC Brand
5a710e4601 Add new sponsor BairesDev 2023-06-05 16:53:49 +02:00
JC Brand
48e7987f38 Start work on removing constants from _converse object 2023-03-03 17:28:26 +01:00
JC Brand
4d2a8e9f8d Create new config setting stanza_timeout
And move STANZA_TIMEOUT off `_converse` and into constants.js
2023-03-03 17:28:26 +01:00
JC Brand
3d0e9a7374 Move CONNECTION_STATUS to constant.js 2023-03-03 17:28:26 +01:00
JC Brand
fb054c40be Experimenting with avoiding importing the converse global 2023-03-03 17:28:26 +01:00
JC Brand
6b365458f5 Get rid of lodash's invoke method 2023-02-26 19:32:55 +01:00
JC Brand
885a3d92b5 Move private API to own file 2023-02-26 18:10:01 +01:00
JC Brand
6df80507f3 Move ConnectionFeedback model to its own file 2023-02-26 18:10:01 +01:00
JC Brand
16754c15aa Register Strophe namespaces in constants.js 2023-02-26 18:10:01 +01:00
JC Brand
70a10efd49 Move public API into its own file 2023-02-26 18:10:01 +01:00
JC Brand
9a63629b40 Get rid of lodash's isFunction 2023-02-26 18:10:01 +01:00
JC Brand
dcfc0d50f4 Refactor shared API functions out into src/headless/shared/api 2023-02-26 18:10:01 +01:00
JC Brand
3530ccc35d Add initial TypeScript support and declaration files 2023-02-23 09:38:11 +01:00
JC Brand
5029d93523 XML stanza parsing fixes
- Add a `Stanza` class which can be used by Strophe because it has a
  `tree()` function. This is what gets returned by the `stx` tagged
  template.

- Throw an error when no valid namespace is on the stanza.
    Strophe.Builder used to automatically add the `jabber:client` namespace,
    but that doesn't happen with `toStanza`, so we need to fail if it's not
    specified by the user.

- Use the Strophe XML Parser
    This opens the door to NodeJS support
2023-02-14 11:50:38 +01:00
JC Brand
de65409e79 Add Uyghur 2023-01-02 09:45:04 +01:00
JC Brand
7539fc1a6f Move functions out of src/headless/core.js into utils 2022-12-28 21:36:40 +01:00
JC Brand
447fe8ba08 Refactor the code related to storing SCRAM keys
- No need to create a new storage mechanism, just use `persistent`.
- Store SCRAM keys per JID
- Upon succesfull login, store the current session JID, so that we know who to fetch SCRAM keys for
- Only store SCRAM keys when the device is trusted

Fixes #3001
2022-12-28 09:56:41 +01:00
based-a-tron
8ab0b718de Added option to save SCRAM keys 2022-12-27 22:39:12 +01:00
JC Brand
e555469e3f Move clearSession function to utils 2022-09-29 14:26:54 +02:00
JC Brand
5760379e0a Only send out ping if we're actually authenticated
Fixes #2562
2022-09-20 15:01:55 +02:00
JC Brand
ca3c8fc10b Fixes #3007
Bugfix: Links in message become text when the message is edited
2022-08-20 11:12:59 +02:00
JC Brand
7028286855 Restrict editing of MUC messages...
to ones with the same XEP-0421 occupant ID
2022-08-11 22:44:11 +02:00
JC Brand
fe9345b7fc MUC: only allow corrections with a matching sender occupant-id
Also, don't render messages from a sender with a different `occupant-id`
as a followup message.
2022-08-10 14:53:18 +02:00
JC Brand
d8ea42a845 Add XEP-372 URI as data attribute to mention element 2022-07-19 11:59:55 +02:00
JC Brand
6573d080e4 Message carbons
- Remove the `converse-carbons` plugin and make carbons part of the `converse-chat` plugin.
- Remove the `message_carbons` configuration setting. Carbons are now always enabled.
2022-05-13 10:32:54 +02:00
JC Brand
ab7e879261 Don't automatically convert OpenStreetMap URLs into geo: URIs in sent messages
Updates #1850 and #2914
2022-05-13 10:14:31 +02:00
JC Brand
0a07cad2cb Move connection api into separate file 2022-04-25 09:48:08 +02:00
JC Brand
f93b30f7b3 Show spinner in controlbox when reconnecting 2022-04-24 11:18:09 +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
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
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
1c0ce25f12 Move keycodes and chat states to constants.js 2022-03-09 12:22:44 +01:00
JC Brand
a2c7e83812 Take offset into account when parsing text for URLs 2022-02-14 19:08:26 +01:00
JC Brand
d3fa925bff Move reconnection code to Connection class
And avoid calling `tearDown` twice
2022-02-02 13:53:05 +01:00
Rob j Loranger
125f45c447
increase stanza timeout to 20s (#2799)
* increase stanza timeout to 20s

fixes issues with higher latency connections timing out fetching stanzas
2022-01-31 12:06:30 +01:00
JC Brand
007b4bce2f Set BOSH wait period to 59 seconds also when attaching to a session 2022-01-25 13:13:14 +01:00
JC Brand
f25f110e0e Avoid infinite loop when BOSH URL returns 404 2021-12-11 12:37:02 +01:00
JC Brand
048560908e Login form: Allow user to choose the connection URL
if `websocket_url` and `bosh_service_url` are not set and XEP-0156
lookup was unsuccessful.
2021-12-10 22:57:33 +01:00
JC Brand
b16d035975 Move setUserJID to init.js 2021-12-10 22:57:33 +01:00
JC Brand
47bab27f7b Fix JSDoc syntax error and update RELEASE.md 2021-11-29 10:11:56 +01:00
JC Brand
077162529d Release 9.0.0 2021-11-29 10:00:38 +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
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
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
ef2c206507 Fix failing test 2021-09-09 11:12:31 +02:00