-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
XEP-0424 - Message retractation / MAM message deletion #3340
Comments
I think such a draft should also support deletion of HTTP-uploaded resources when deleting a message that references an uploaded file. The problem with supporting this cleanly is that the actual referencing of uploaded files is done quite ad-hoc: The message typically just holds the URI to an uploaded file in the (possibly encrypted) body and in an OOB-URL. Nevertheless, if we support message deletion without upload deletion, it will take no longer than 48 hours until people complain 😄 |
+1 this would make perfect sense in modern messaging applications |
This Link is a draft from 2015. might give a direction towards implementing it as well. Once a draft is intact, can we expect it to be in the next versions? |
Any progress on this? |
I guess you can get inspiration from MongooseIM: esl/MongooseIM#2739 |
I can confirm that Message Retraction is working and is deleting messages from MAM. I did an integration in my app and the row with the message was deleted from the database. Still I think it is not being advertised to disco#info as required by XEP-0424. It should advertise urn:xmpp:message-retract:1 as: <iq type='result'
to='[email protected]/orchard'
from='[email protected]/balcony'
id='info1'>
<query xmlns='http://jabber.org/protocol/disco#info'>
...
<feature var='urn:xmpp:message-retract:1'/>
...
</query>
</iq> But I'm not seeing it when I query for disco#info: <iq xml:lang='en' to='...@.../...' from='...' type='result' id='...'>
<query xmlns='http://jabber.org/protocol/disco#info'>
<identity type='pep' category='pubsub'/>
<identity name='ejabberd' type='im' category='server'/>
<feature var='http://jabber.org/protocol/commands'/>
<feature var='http://jabber.org/protocol/disco#info'/>
<feature var='http://jabber.org/protocol/disco#items'/>
<feature var='http://jabber.org/protocol/offline'/>
<feature var='http://jabber.org/protocol/pubsub'/>
<feature var='http://jabber.org/protocol/pubsub#access-authorize'/>
<feature var='http://jabber.org/protocol/pubsub#access-open'/>
<feature var='http://jabber.org/protocol/pubsub#access-presence'/>
<feature var='http://jabber.org/protocol/pubsub#access-whitelist'/>
<feature var='http://jabber.org/protocol/pubsub#auto-create'/>
<feature var='http://jabber.org/protocol/pubsub#auto-subscribe'/>
<feature var='http://jabber.org/protocol/pubsub#collections'/>
<feature var='http://jabber.org/protocol/pubsub#config-node'/>
<feature var='http://jabber.org/protocol/pubsub#config-node-max'/>
<feature var='http://jabber.org/protocol/pubsub#create-and-configure'/>
<feature var='http://jabber.org/protocol/pubsub#create-nodes'/>
<feature var='http://jabber.org/protocol/pubsub#delete-items'/>
<feature var='http://jabber.org/protocol/pubsub#delete-nodes'/>
<feature var='http://jabber.org/protocol/pubsub#filtered-notifications'/>
<feature var='http://jabber.org/protocol/pubsub#get-pending'/>
<feature var='http://jabber.org/protocol/pubsub#instant-nodes'/>
<feature var='http://jabber.org/protocol/pubsub#item-ids'/>
<feature var='http://jabber.org/protocol/pubsub#last-published'/>
<feature var='http://jabber.org/protocol/pubsub#manage-subscriptions'/>
<feature var='http://jabber.org/protocol/pubsub#member-affiliation'/>
<feature var='http://jabber.org/protocol/pubsub#modify-affiliations'/>
<feature var='http://jabber.org/protocol/pubsub#multi-items'/>
<feature var='http://jabber.org/protocol/pubsub#outcast-affiliation'/>
<feature var='http://jabber.org/protocol/pubsub#persistent-items'/>
<feature var='http://jabber.org/protocol/pubsub#presence-notifications'/>
<feature var='http://jabber.org/protocol/pubsub#presence-subscribe'/>
<feature var='http://jabber.org/protocol/pubsub#publish'/>
<feature var='http://jabber.org/protocol/pubsub#publish-only-affiliation'/>
<feature var='http://jabber.org/protocol/pubsub#publish-options'/>
<feature var='http://jabber.org/protocol/pubsub#publisher-affiliation'/>
<feature var='http://jabber.org/protocol/pubsub#purge-nodes'/>
<feature var='http://jabber.org/protocol/pubsub#retract-items'/>
<feature var='http://jabber.org/protocol/pubsub#retrieve-affiliations'/>
<feature var='http://jabber.org/protocol/pubsub#retrieve-default'/>
<feature var='http://jabber.org/protocol/pubsub#retrieve-items'/>
<feature var='http://jabber.org/protocol/pubsub#retrieve-subscriptions'/>
<feature var='http://jabber.org/protocol/pubsub#shim'/>
<feature var='http://jabber.org/protocol/pubsub#subscribe'/>
<feature var='http://jabber.org/protocol/pubsub#subscription-notifications'/>
<feature var='http://jabber.org/protocol/rsm'/>
<feature var='iq'/>
<feature var='jabber:iq:last'/>
<feature var='jabber:iq:privacy'/>
<feature var='jabber:iq:register'/>
<feature var='jabber:iq:version'/>
<feature var='msgoffline'/>
<feature var='presence'/>
<feature var='urn:xmpp:blocking'/>
<feature var='urn:xmpp:carbons:2'/>
<feature var='urn:xmpp:carbons:rules:0'/>
<feature var='urn:xmpp:extdisco:2'/>
<feature var='urn:xmpp:mam:0'/>
<feature var='urn:xmpp:mam:1'/>
<feature var='urn:xmpp:mam:2'/>
<feature var='urn:xmpp:mam:tmp'/>
<feature var='urn:xmpp:ping'/>
<feature var='vcard-temp'/>
<x type='result' xmlns='jabber:x:data'>
<field var='FORM_TYPE' type='hidden'>
<value>http://jabber.org/network/serverinfo</value>
</field>
</x>
</query>
</iq> |
XEP-0313: Message Archive Management does not propose a way to delete a message.
It would be handy to propose a draft XEP and implementation to handle server-side message deletion from archive.
Things to take into account:
Let's discuss here draft protocol and implementation.
The text was updated successfully, but these errors were encountered: