Resend webxdc sent by another user [to fix group that became plaintext on 2.46]

We have a group on Delta Chat with webxdc app and some data in it (can’t be exported).

When I updated from 1.x to 2.46.0, that group became plaintext, even though it was end-to-end encrypted & chatmail-only. Also, I saw double members. But only on my phone, on the desktop it works correctly. In my attempt to fix on the phone, I did the following:

  1. Made a backup.
  2. Created a temporary Chatmail account, then added it to the group.
  3. Resent the app (my first account was the uploader) – it appeared on the second with the right status).
  4. Removed old account from the members.
  5. Generated QR code from the second, tried to add the first account with it – it failed (the group was still plaintext).
  6. Removed chat from the first account – I planned to re-add myself, then resend webxdc from desktop, unfortunately chat removal synced to desktop.
  7. I re-added myself from the QR code from the second account, but the history is lost and I can’t resend webxdc together with status updates neither from desktop nor the second account. I can only share xdc file, which does not restore the status.
  8. Installed third instance of Delta Chat and restored the backup – it automatically synced from IMAP and the chat history is still missing.
  9. Restored backup again, offline – I could see the webxdc sent as myself.
  10. Turned on network for a second then immediately resent before it syncs – fails with an empty error box. Tried several times.

I think I could make another backup, then edit the database file to copy the entries from old backup, then restore it. Obviously the chat ID now would be different, but what else? How to do that properly? Please help.

1 Like

There is a similar discussion at allow resending/forwarding other's messages/webxdc? · Issue #7115 · chatmail/core · GitHub

Maybe we can just allow resending any messages sent by others in Core, actually doing forwarding with the same Message-ID and, for webxdcs, with all status updates? Almost all necessary code already exists. Then the user can at least use deltachat-repl to fix the problem.

1 Like