We have to save the value per account and contact, because otherwise
it could lead to problems if a jid is added to more than one account.
As key this uses a string in the form of 'Account-BareJid'.
The config option group 'contacts' is not used because there are values
like 'speller_language' that make more sense to set on a Jid basis, rather than a
Account-Jid basis.
Treat an empty config value or no config value as 'disabled', instead
of writing a config value of 'disabled'. This has the benefit that we
dont have to write config values for contacts were we dont use encryption.
- Log status is a feature that only works with xep-0136 which nobody uses anymore
- Even then we can only trust in the server/user to not log the session
- We should not imply that a client could control if messages are logged on the server or the other end,
especially as this is about encryption and security we should be as accurate as possible
- The lock image is only shown if a encryption was sucessfully activated, so the enabled flag is unnecessary
- Add extension points when receiving/sending a message
- Add extension point for setting the lock image
- Add extension point after clicking the send button
- Add extension point when typing
- Add a new menu button to choose the desired encryption
- Extend the PluginManager to hold a list of encryption plugins
Use the account hostname instead of the target hostname of the
_xmpp-client._tcp SRV resource record for STUN server discovery.
Otherwise, discovery fails if both hostnames are different.
If the user had an empty `file_transfer_proxies` config setting
no proxies were used. As we discover the default server proxy ourself the
user should not have to write it to his config setting to make use of it.
- We want to send requests also to offline contacts.
- The XEP is wide spread chances are high that a contact supports it.
- It gets really complicated, when we want to guess if a offline contact supports receipts
- 'received'-Carbons from ourself, because we either received
the message directly or got a 'sent'-Carbon about it
- Messages from our own full jid, this can happen when we send
a Message to ourself and no other resource is online.
- Push Invitation and Decline event much earlier
- Refactor Logic to decide if mediated or not
Ejabbered 17.03 does add a 'jabber❌conference' namespace into mediated invites which has broken our logic
- Dont add a groupchat contact on invitation, always add the inviter to the roster
- Move handling of Data IQs into IBBIqHandler
- Call SendHandler with file_props
- Save last sent id in file_props.syn_id
- Remove some useless checks, now that we call SendHandler with file_props
- Send item-not-found error on invalid session id