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
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
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.
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
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).
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