XMPP Extension Protocols (XEPs)
These are all the XEPs supported by Kaidan.
|XEP-0030: Service Discovery||v2.2|
|XEP-0054: vcard-temp||v1.2||Only used for avatars|
|XEP-0091: Legacy Delayed Delivery||v1.4||Read-only|
|XEP-0153: vCard-Based Avatars||v1.0|
|XEP-0184: Message Delivery Receipts||v1.2|
|XEP-0203: Delayed Delivery||v0.1|
|XEP-0280: Message Carbons||v0.8|
|XEP-0308: Last Message Correction||v1.0|
|XEP-0352: Client State Indication||v0.2|
|XEP-0363: HTTP File Upload||v0.9|
|XEP-0382: Spoiler messages||v0.2|
XMPP Core RFCs
Kaidan supports these RFCs:
- RFC-6120: Extensible Messaging and Presence Protocol (XMPP): Core
- RFC-6121: Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence
For file sharing we want to use Stateless Inline Media Sharing (SIMS) (XEP-0385). This would allow us to also transmit a thumbnail (using Bits of Binary), a media type, file size and checksums. SIMS is based on HTTP File Upload and can be implemented in a backwards-compatible way. SIMS also encourages developers to implement both HTTP File Upload and Jingle File Transfer, but we’ll only use HTTP File Upload because it is widely deployed already and Jingle File Transfer has many downsides.
We want to use MIX for groupchats instead of MUC. There is already an experimental server implementations in ejabberd and as soon as there’s also one in prosody and MUC <-> MIX mirroring works we won’t have any disadvantages with it.
For e2ee we want to use OMEMO with the ATT extension (Automatic Trust Transfer).