Commit Graph

709 Commits

Author SHA1 Message Date
JC Brand
c457081597 WIP: Add support for XEP-437: Room Activity Indicators
- Send marker for last message before leaving and before subscribing to RAI
- clear cache of RAI-subscribed domains on reconnection
2020-12-14 13:11:24 +01:00
JC Brand
14c9b2f4ae Clear message cache when closing a MUC 2020-12-11 13:57:16 +01:00
Xavi Ferrer
f4b6b93b8b update info messages visibility 2020-12-03 11:45:25 +01:00
JC Brand
c002600ac5 Rename update_title setting to show_tab_notifications 2020-11-25 16:30:52 +01:00
JC Brand
f9650f33be Add support for XEP-0393 message styling
Fixes #1083

Directives are rendered as templates and their bodies are MessageText instances.
We thereby achieve the necessary nesting of directives (and other rich
elements inside directives) by letting each directive
body render itself similarly to how the whole message body is rendered.
2020-11-24 16:06:48 +01:00
JC Brand
db1905fdb6 Release 7.0.2 2020-11-23 10:18:35 +01:00
JC Brand
85375842a8 Release 7.0.1 2020-11-19 11:23:04 +01:00
JC Brand
357cad8a49 Release 7.0.0 2020-11-18 12:10:32 +01:00
Ariel Fuggini
6de07c5c29 Adds setting to toggle showing unread message counter in page title 2020-11-05 14:27:10 +01:00
Dele Olajide
285bbbc2f1
fix #2321 (#2322)
When Converse runs inside a browser extension, enable browser sync and local storage for persistent storage
2020-10-30 12:51:55 +01:00
JC Brand
00466cd550 Let the converse-loaded event conform to the CustomEvent spec
https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent
2020-10-26 13:09:15 +01:00
JC Brand
4252a17f62 Fixes #1642 Add option to hide participant list by default
In the process, turn it into a component
2020-10-23 21:18:05 +02:00
JC Brand
19dc66900d Split the trusted setting into two new ones:
- `allow_user_trust_override`
- `clear_cache_on_logout`

The `persistent_store` setting can now also be set to `sessionStorage`

The `trusted` settings was in effect playing the role of two separate settings
and implicitly affecting a third ('persistent_store').

By breaking it up, we make things more explicit and allow for new
configurations. For example, clearing the cache on logout, while using
some kind of persistent store.
2020-10-20 11:29:03 +02:00
Xavi
042aa3a73e
Create hats from vcard conditionally (#2285)
* allow the use of MUC affiliation, MUC role, and VCard roles as hats
* update setting documentation
* remove filter from VCard roles
* update naming and documentation to make explicit the use of XEP-317 Hats
* include muc_hats config option update to changelog
2020-10-15 09:51:19 +02:00
JC Brand
a42390c91f Docs: add troubleshooting section on Backbone/Skeletor "url" property error 2020-10-14 12:07:17 +02:00
JC Brand
ced43363f6 Document how to run tests 2020-09-18 21:37:26 +02:00
JC Brand
87b69c1d11 Update documentation in anticipation of next release
Site HTML: make links relative
2020-09-18 11:34:14 +02:00
JC Brand
9fe7bfcd64 Include chatbox in 'message' event data 2020-09-16 19:08:56 +02:00
Ariel Fuggini
fce337e352 New configuration setting: notify_nicknames_without_references 2020-09-09 13:11:45 +02:00
JC Brand
496b070d2a If adding .png fallback fails, revert to original URL 2020-09-01 12:21:32 +02:00
Ariel Fuggini
3535d05ff5 Removes query params from urls as set in config 2020-09-01 07:12:52 +02:00
JC Brand
831a9fa224 Append .png to failed image URLs without extensions
Otherwise Imgur URLs don't render
2020-08-31 20:43:54 +02:00
Ariel Fuggini
6adec9a8d2 adds option to whitelist image domains 2020-08-31 20:38:09 +02:00
Ariel Fuggini
f88960c561 Added tests and documentation 2020-08-31 17:13:24 +02:00
JC Brand
16ca8044f8 Add experimental support for running the XMPP conneciton inside a shared worker
Still lacks inter-tab communication to update state across tabs, i.e.
when sending a 1-on-1 message in one tab, it doesn't appear in another,
because that information is not available via the websocket connection.

- Create a new `Connection` class that extends Strophe.Connection and
    move related code from `converse-core.js` into this class.
- Store the session in localStorage when using a worker
- Move XEP-0156 code to connection.js
    This allows us to initialize the connection without needing to know the
    domain.
2020-07-27 12:43:47 +02:00
Guus der Kinderen
0c5f0e247b Removed the mockups from the project. Recommended to use tests instead. 2020-06-29 16:47:36 +02:00
Florian Nitzsché
6ef2b7544a Fixes #2068: Edit prebind documentation example 2020-06-09 10:33:59 +02:00
JC Brand
7b0e9df41e New config option: show_message_avatar 2020-06-04 14:27:51 +02:00
JC Brand
2b5aeb5ed1 Document interaction between muc_send_probes and muc_fetch_members 2020-05-12 11:23:35 +02:00
JC Brand
d49b630bdc Enable sending of MUC presence probes 2020-05-06 18:01:59 +02:00
JC Brand
be2def5fad Docs: Remove out of date section on testing 2020-04-27 18:31:29 +02:00
JC Brand
2696c26ffb Add new config setting allow_adhoc_commands 2020-04-17 15:01:12 +02:00
JC Brand
78b1a5c42a Show send button by default 2020-04-14 14:49:09 +02:00
JC Brand
df9612f937 Add support for XEP-0317 MUC Hats 2020-04-13 22:57:29 +02:00
Matthias Heinzel
a9e6d1131a
Fix links (#1966)
* README: fix broken links

* fix references to tests.html

The file was moved in e7aed050b4
2020-04-13 11:27:23 +02:00
JC Brand
8b496d085e Enable XEP-0156 support by default 2020-04-10 15:25:49 +02:00
JC Brand
be073e5c21 Remove old sponsors 2020-04-07 14:31:18 +02:00
JC Brand
bb9e394e93 muc: handle join/leave notifications similarly to CSNs
Remove the `muc_show_join_leave_status` config setting.
We don't show the optional statuses at all now.
2020-04-01 14:34:11 +02:00
JC Brand
321a54323e Allow moderators to retract their own messages...
when retractions are restricted to mods only
2020-03-26 10:35:08 +01:00
JC Brand
2af93f4492 modtools: settings for which roles/affiliations may be queried or assigned 2020-02-22 23:16:22 +01:00
JC Brand
62ef18a027 muc_fetch_members now accepts an array of affiliations 2020-02-20 18:39:56 +01:00
JC Brand
bcbde04530 Copy sounds dir to dist and use assets_path for sounds_path 2020-02-16 12:30:25 +01:00
JC Brand
29aed314c1 Remove Backbone
* Remove backbone as NPM deps and from docs
* Remove backbone stuff from webpack
2020-01-30 17:36:55 +01:00
JC Brand
3d3d97e75b Restrict /topic command to allowed users 2020-01-16 15:28:02 +01:00
JC Brand
851930f980 Update docs around session management and move to own section 2020-01-16 13:38:07 +01:00
Christoph Scholz
e2d744ddc4 config option for roomid validation 2020-01-13 09:01:21 +01:00
Christoph Scholz
d0ee41d4fb focus now on jid field after controlbox is loaded 2020-01-11 23:26:36 +01:00
JC Brand
91fc8c52d7 Document show_send_button 2020-01-10 13:04:33 +01:00
JC Brand
16a40a0974 Fix broken changelog links and add missing config entry 2020-01-10 10:26:01 +01:00
JC Brand
cd60614f88 Release 6.0.0 2020-01-09 17:15:43 +01:00
JC Brand
c3447dd205 New config option: `persistent_store`
Allows for using IndexedDB as the persistent store, instead of localStorage
2019-12-03 13:51:57 +01:00
JC Brand
3ffb56baa2 Replace debug configuration setting with loglevel 2019-11-22 14:23:19 +01:00
JC Brand
86809d9301 Fix RsT errors in docs and rename html recipe to doc 2019-11-22 13:50:36 +01:00
JC Brand
e4010185dc Add new config option allow_message_retractions 2019-11-22 13:50:36 +01:00
JC Brand
b4dafcc45b Add support for XEP-0424 and XEP-0425
- Add support for switching ephemerality after message creation
- Move more methods from ChatBox and ChatRoom to utils/stanza.js
- Rename 'ephemeral' to 'is_ephemeral' since it's a boolean
2019-11-22 13:50:36 +01:00
poVoq
627f306d1b Added examples for bosh & websocket connection
also recommendation to enable smacks
2019-11-22 10:38:43 +01:00
Dele Olajide
1f673b7aae StartinBlox PR to fix issues
1. enable avatars in autocomplete
2. change search/filter type for automcomplete
2019-11-12 16:22:37 +01:00
JC Brand
f7a57f272e Remove show_only_online_users config setting.
Doesn't appear to be very useful. IIRC it was added as a workaround for
slow roster issues.
2019-10-17 13:17:37 +02:00
JC Brand
e6e23a1a82 Add initial support for custom emojis 2019-10-17 12:12:08 +02:00
JC Brand
9d77a4ef97 Fixes #129 Add support for XEP-0156.
Only XML is supported for now.
2019-10-11 17:46:13 +02:00
JC Brand
266fe131a9 Release 5.0.4 2019-10-08 14:22:56 +02:00
JC Brand
b70fde159d Fixes #1738. Allow webpack's publicPath to be specified at runtime 2019-10-06 21:52:37 +02:00
Christoph Scholz
1c7c25091f new config option: allow_message_corrections 2019-10-04 15:42:38 +02:00
Antranig Vartanian
1a2de997b5 Fix link
The link next to XEP-0384 OMEMO was referring to XEP-0363
2019-09-16 11:03:04 +02:00
JC Brand
39896b508b Release 5.0.3 2019-09-13 15:19:00 +02:00
JC Brand
5bf0955193 Release 5.0.2 2019-09-11 17:44:38 +02:00
JC Brand
ea22cdd7f1 Updates #1699 2019-09-06 17:09:31 +02:00
JC Brand
b52b3e5503 Use RsT syntax instead of markdown 2019-09-06 11:56:38 +02:00
Licaon_Kter
778fb4e65d Fix muc_domain link
...since `locked_domain` needs to be "domain.tld" and can't be just `true`... or maybe `locked_domain` needs editing instead?
2019-09-02 11:26:45 +02:00
JC Brand
76f2b66445 Add a po loader for webpack.
- Removes the need for generating and keeping json files
2019-08-23 11:42:37 +02:00
JC Brand
8aaf50d58c Use webpack's dynamic imports feature for fetching emoji JSON 2019-08-23 09:18:10 +02:00
JC Brand
4cb9fd88a8 Refactor emojis so that JSON is fetch asynchronously 2019-08-22 13:56:47 +02:00
JC Brand
8f571ff148 Release 5.0.1 2019-08-14 12:56:44 +02:00
JC Brand
2ba2ce0c0b Update default value in docs and changelog 2019-08-10 18:48:00 +02:00
JC Brand
bc27b3a36a Release 5.0.0 2019-08-08 18:13:12 +02:00
JC Brand
7861ed7b54 Fixes #1403: Rename show_chatstate_notifications
to `show_chat_state_notifications`
2019-08-03 21:52:14 +02:00
JC Brand
ec85490f1c Allow configuration of which XEP-0095 CSN's may be sent out 2019-08-02 11:34:24 +02:00
JC Brand
afa2543492 Honour the auto_login flag
by not logging in automatically when `auto_login` is `false` and we're
using anonymous, external or prebind authentication.

For `authentication` set to `login` the situation is much more
ambiguous, since we don't have a clear distinction between wether we're
restoring a previous session (`keepalive`) or whether we're
automatically setting up a new session (`auto_login`).

So currently if *either* `keepalive` or `auto_login` is `true` and
`authentication` is set to `login`, then Converse will try to log the
user in.
2019-07-29 16:35:17 +02:00
JC Brand
ea36d53f78 Re-add the keepalive options.
It's unlikely that `keepalive` needs to be set to `false`, but there are
some edge cases where it might be useful.

Here's a breakdown of the different configurations of `keepalive` and `auto_join`:

---

* auto_login: false, keepalive: true

This is the default config. Users need to log in manually, but then
Converse will try to reconnect them when the page reloads.

* auto_login: true, keepalive: true

Also very popular configuration. Used with `credentials_url` or `prebind_url`.

* auto_login = `true`, keepalive = `false`

Not sure what this could be useful for. No currently known application.

* auto_login = `false`, keepalive = `false`

Useful when you want some kind of specific action to trigger login, but
you don't want to maintain that state across page reloads.

Also relevant when using a websocket connection with anonymous login.
With websocket it's impossible to maintain anonymous sessions across page
reload because the the session gets removed server-side as soon as the
websocket connection drops and the server won't accept a full JID with
password for an anonymous connection anyway (which could happen upon
page reload when Converse tries to login in again if `keepalive` was `true`).
2019-07-26 18:08:38 +02:00
JC Brand
c4ad02d4e3 New config setting: muc_fetch_members 2019-07-26 13:32:21 +02:00
JC Brand
fa2d6cca10 Update developer documentation and buildout dependencies 2019-07-25 12:33:46 +02:00
JC Brand
07f82d6a0d Allow passing of more options to auto_join_rooms 2019-07-22 15:10:59 +02:00
Malcolm
b163d05323 ADD Omemo default support (#1476) 2019-07-10 06:51:41 +01:00
JC Brand
da1d87648c New config option clear_messages_on_reconnection
In some cases, it might be desirable to clear cached chat messages once you've
reconnected to the XMPP server.

For example, if you want to prevent the chat history from getting too long or
if you want to avoid gaps in the chat history (for example due to MAM not
returning all messages since the last cached message).

If you're using OMEMO, then you probably don't want to set this setting to
``true``. OMEMO messages can be decrypted only once, so if they then
subsequently get cleared, you won't get the plaintext back.
2019-07-04 08:28:12 +02:00
JC Brand
c32070c9bb Autocomplete fixes
- Fixes #1575. Height not properly set on MUC invitation list
- Add new configuration setting: `muc_mention_autocomplete_min_chars`
- Bugfix. `min_chars` setting for MUC mentions wasn't having an effect
2019-06-19 15:01:30 +02:00
JC Brand
b2553a44e1 New configuration setting: auto_focus 2019-06-18 14:04:26 +02:00
JC Brand
38d0d8360b New config setting message_limit
for limiting messages to a certain number of characters.
2019-06-16 21:52:56 +02:00
Nÿco
137b40d443 Double "your"
Removed one occurrence
2019-06-14 12:10:17 +02:00
JC Brand
a954ab914f Remove old API and events docs 2019-06-05 11:35:48 +02:00
JC Brand
38a232fd45 Move BOSH code into a plugin
- Remove the `keepalive` configuration setting. It is now always implicitly `true`.
- Remove the `expose_rid_and_sid` configuration setting.
- A `prebind_url` is now mandatory when setting `authentication` to `prebind`.
- It's no longer possible to pass in `rid` and `sid` values to `converse.initialize.
2019-06-05 11:35:48 +02:00
JC Brand
48adc04740 Fix path to converse.css and add some mockup fixes 2019-06-04 11:12:22 +02:00
JC Brand
7b11d85503 Add support for XEP-0198 Stream Management
- New plugin `converse-smacks`
- New config option `enable_smacks`
- Rename session cache id from `converse.bosh-session` to `converse.session`
- Refactor logout and login as consistently used api methods
- Refactor session cache to store per JID

Fixes #316
2019-06-03 09:43:12 +02:00
JC Brand
267fb38e0c Remove the forward_messages config option 2019-05-31 16:07:51 +02:00
JC Brand
f87e4e3a7c Mention the template loader in the plugin docs 2019-05-30 16:48:20 +02:00
JC Brand
e4f04f7bdf Update plugin docs.
- Remove section on UMD
- Add section explaining how to override templates
- Add overrides example to the relevant section
- Mention composition to add methods to existing classes
2019-05-30 14:16:32 +02:00
JC Brand
94f916775c Update quickstart docs
* Mention plugins for OpenFire and Prosody
* Mention demos on conversejs.org
2019-05-28 17:12:50 +02:00
JC Brand
540947dcb6 No need to show similar code snippet twice 2019-05-28 16:31:57 +02:00
JC Brand
f061171098 Mention in quickstart guide that builds can be downloaded from Github 2019-05-28 16:29:41 +02:00
JC Brand
f387c947f5 Allow the full app to be embedded.
- new config option `singleton`.
- new plugin `converse-uniview`
- removed `converse-embedded`.
- various CSS changes, to properly render an embedded full app
- don't re-open cached and non-autojoined chats in singleton mode

The goal here is to extend the `embedded` `view_mode` so that the full app can
also be embedded, not just a single MUC or private chat.

To do this, we'll need to differentiate between multi and singleton chat apps.

* A singleton chat app contains only a single chat.
* A multi-chat app can contain zero or more chats

So we introduce a new config option, `singleton`, which when used with
`view_mode` set to `embedded` will determine whether a single chat or the full
app is embedded.

Similarly, in `overlayed`, `fullscreen` and `mobile` view modes, `singleton`
set to true will allow only one chat within the parameters of that view mode.

We're appropriating the word `singleton` and introducing the concepts of
`uniview` and `multiview` (see a785ca8) to cover what was
previously meant with `singleton`.

updates #1297
2019-05-24 20:39:19 +02:00
JC Brand
1ef29bee4e Use composition instead of overrides 2019-05-24 16:02:07 +02:00