plugin OXPS, XEP-0060: indicate which items were e2ee:

the new `encryption` key is added to `getItems` metadata if items were e2ee, it contains a
map from item ID to encryption metadata.

rel  380
This commit is contained in:
Goffi 2022-10-15 20:38:33 +02:00
commit 7b9e785c13
2 changed files with 4 additions and 0 deletions

View file

@ -736,6 +736,7 @@ class PubsubEncryption:
decrypted_elt = xml_tools.parse(decrypted)
item.children.clear()
item.addChild(decrypted_elt)
extra.setdefault("encrypted", {})[item["id"]] = {"type": NS_OXPS}
async def _message_received_trigger(
self,

View file

@ -854,6 +854,9 @@ class XEP_0060(object):
# normally we have a strict equality here but XEP-0059 states
# that index MAY be approximative, so just in case…
metadata["complete"] = index + len(items) >= count
# encrypted metadata can be added by plugins in XEP-0060_items trigger
if "encrypted" in extra:
metadata["encrypted"] = extra["encrypted"]
return (items, metadata)