powered by Jive Software

Entity Capabilities required for OMEMO support

I just found out that in order for the following method to work correctly,

omemoManager.resourceSupportsOmemo(contactsResourceJid);

a client that supports omemo protocol, its advertised entityCapabilities must include the PEP_NODE_DEVICE_LIST_NOTIFY

public static final String PEP_NODE_DEVICE_LIST_NOTIFY = PEP_NODE_DEVICE_LIST + “+notify”;

Are the two features below also need to be included in the buddy advertised entityCapabilities,

or they belong to the xmpp server supporting features to be advertised.

public static final String PEP_NODE_DEVICE_LIST = OMEMO_NAMESPACE_V_AXOLOTL + “.devicelist”;
public static final String PEP_NODE_BUNDLES = OMEMO_NAMESPACE_V_AXOLOTL + “.bundles”;

kindly advise

see comment on discussion threads:

Smack OmemoService#subscribeToDeviceLists & #registerDeviceListListener happen too late to listen for PEPEvent to take actions

Omemo message session with second new omemoDevice of same user failed

That method is flawed. There is sadly no way to check if a full JID supports OMEMO yet.

Thank for the information.

aTalk has moved to use OmemoManager#contactSupportsOmemo(BareJid), I think this is a better choice for aTalk implementation to check for contacts supporting omemo.