Bonjour @sblin , content de voir que s'ouvre à nouveau la question à propos de l'édition/suppression des messages.
Actuellement avec Version: 202208261509 sur desktop LinuxMint il est toujours impossible de:
supprimer l'historique ou des messages choisis d'une conversation
sauvegarder une conversation à l'extérieur du répertoire jami
attacher une réponse à une "bulle texte" parmi les messages reçus, afin de s'y retrouver dans les longues conversations à sujets multiples.
...
L'unique possibilité est des supprimer la conversation (ce qui revient à supprimer le contact) et ensuite inviter à nouveau le contact.
I like your idea but the user(s) can prevent this by going quickly offline.
Even centralized messaging distribution sys tems that focus on privacy like threema believe that self-destructing messages are not very secure.
Personally, I think we need to implement a Screen Capture Protection first. See: jami-project#1242 (moved)
The issue regarding self destructing messages is here: jami-project#780
And if the developers implement a Quote Function (jami-project#723 (closed)) we need to find a solution how you can delete quoted text of the other person.
In fact this can't be implemented as follow. The conversation is a graph of messages synced and signed by the author's devices. See the docs about swarm. So removing a message is more complex as the graph struct depends on it and used for syncing. Also Jami needs to deal with offline environment.
For messages edition/deletion, this is a quite complex discussion and there is already a big thread on the ML with some person wanting the feature, others against and also the fact that changing the history of a conversation can be bad for a lot of reason.
For me, I see 4 use-cases with possible implementation:
Fixing a typo. Generally, this is the most common thing. And the implem with swarm for me is just to add a special message that override the content of a previous message. And the client will show the new content instead of the previous one. Technically, you're able to remove the body of the message, but the peer see that the message is edited and still see the original content.
Erasing a message sent by mistake. Imho once sent and synced, you can't assume the peer will not record it, and the easiest thing is just to allow deletion before anyone synced. If it's synced with the peer, it's sent.
Disappearing message, with a destruction timer. This can be sent as a SIP message with timeout=30s (or the wanted duration). Will not be synced as not stored in the history and will disappear from the sender/receiver after the timeout (auto destructive message)
Erasing the history before travelling, or else. For me the easiest way is just to remove the contact or even the account from the device. As the history is stored only on the conversation's device.
" For me the easiest way is just to remove the contact or even the account from the device. As the history is stored only on the conversation's device. / Pour moi, le plus simple est de supprimer le contact voir même le compte de l'appareil. L'historique de la conversation n'étant stocké que sur l'appareil ."
The main use I find to message deletion inside conversation is signal to peers the last message was wrong. So, the message appears in the history is not a problem while peers are noticed it is wrong if they read it. This is the first implementation described by Sebastian.
This is a different feature than MAX's request. If every peers want to delete a message definitively, the ideal way appears me to be a request which asks peers to rewrite the conversation. So if they accept all, both the message and the request are definitively deleted in the history of every devices. As I understand Sebastian message, rewrite a swarm, even if all peers are connected and agree is difficult.
An other way to implement that would be to have several swarms splited as in a forum. The peers delete a specific conversation using the previously described protocol to delete a whole swarm. The difficulty here would be to encourage users to open a new swarm every time they change of conversation.
The main use I find to message deletion inside conversation is signal to peers the last message was wrong
Yeah basically what I describe by 1., I agree it's the typical use and it's indeed a different use.
The peers delete a specific conversation using the previously described protocol to delete a whole swarm.
Technically, having different swarm is possible. For now, the client don't show this, as group chat is not enabled yet. But in the future (eg https://review.jami.net/q/topic:swarm-multi-participants) a button will be added to startConv and then add contact.
That's kind of a big issue for the jami-gnome and jami-qt client, due to jami-client-qt#649 (closed). It means the only way to workaround it is to delete a contact and add it back.
deleting and archiving of a chat (in business use) are required by law.
anyway its a big security issue.
thanks, i'll try other software.
next testing in about 5 years...:-)
right click on contact didnt show a menue...
I deleted the contact and created the same contact new...
now i have the menu to delete the chat.
thanks for your patience