element-hq / element-web

A glossy Matrix collaboration client for the web.
https://element.io
GNU Affero General Public License v3.0
11.22k stars 2k forks source link

Exporting Chat messages should tell me how many messages failed to export #24894

Open MTRNord opened 1 year ago

MTRNord commented 1 year ago

Your use case

What would you like to do? && Why would you like to do it?

I would like to export my chat messages as json of an encrypted room. Currently, element-web just exports:

 {
      "type": "m.room.message",
      "room_id": "redacted",
      "sender": "redacted",
      "content": {
        "msgtype": "m.bad.encrypted",
        "body": "** Unable to decrypt: DecryptionError: The sender's device has not sent us the keys for this message. **"
      },
      "origin_server_ts": 1608140190518,
      "unsigned": {
        "age": 71355218926
      },
      "event_id": "$redacted",
      "user_id": "redacted",
      "age": 71355218926
    }

This however isn't told about anywhere in the UI. This means people that use this feature as a backup for their messages might end up realizing later that half of the export is actually broken and utterly useless. It would be nice to have a number displayed of failed to export messages. As in X of Y messages failed to export. This would prevent false trust into this export.

How would you like to achieve it?

As said above, a simple mention that some failed would be nice.

Have you considered any alternatives?

I don't think there are any viable alternatives. Telling the person upfront about issues is a simple and obvious way of communicating this. The UI should be simple on this. Especially considering EMS sells this as a product as part of their Audit Bot, seemingly if the marketing side is to trust.

Additional context

No response

gaelledel commented 4 months ago

We could potentially warn the user on a modal (see below) when the export is done but unsure if we are technicaly able to detect if we had UTDs in some instances?

Screenshot 2024-07-04 at 10 48 46

Could the web maintainer investigate?