igniterealtime / openfire-monitoring-plugin

Adds support for chat archiving and server statistics to Openfire
Apache License 2.0
18 stars 27 forks source link

Add support for XEP-0424: Message Retraction #92

Open deleolajide opened 4 years ago

deleolajide commented 4 years ago

Converse 6.0 now supports the retraction of a message. In order to make it work, the monitoring plugin needs to implement a tombstone for each retracted message.

See https://xmpp.org/extensions/xep-0424.html#tombstones

deleolajide commented 4 years ago

In order to make it work, the monitoring plugin needs to implement a tombstone for each retracted message

This is not exactly correct. As pointed out by jcbrand

The tombstone is a "nice to have"... when you fetch from MAM again, and you get both the original and the retraction, then only the retraction should show There are however some possible edge cases where you only get the original and not the retraction, which is why it's better to have tombstones

Futher investigation reveals that it does not work with Openfire because the monitoring plugin was not writing the message to DB as it did not have a body. This it is does as a general rule.

Changing that will have bigger implications. In the meantime, A work-around could be to add a dummy body tag by the originating client. XEP 0424 is silent about that, but it seems harmless and will act as a fallback to clients that receive the retraction but do not implement the XEP.