Skip to content
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

We should have a way to display the list of all the messages we sent since the beginning of times #1488

Open
Yoric opened this issue Mar 5, 2021 · 9 comments

Comments

@Yoric
Copy link

Yoric commented Mar 5, 2021

Is your suggestion related to a problem? Please describe.

Several countries make it a legal obligation for service providers to let users find out exactly what data is stored from them. Matrix already offers APIs for that (i.e. /sync with filters) but there's no UX for this purpose. Consequently, the only way for end-users to get this information is currently to get in touch with their homeserver admin.

I believe that we should add a UX for this.

Describe the solution you'd like

One possibility: somewhere in our "Privacy" tab, we should have an entry, e.g. "See all my messages" that opens a pseudo-room to see all the messages we have sent since the beginning of time (loaded lazily), with the ability to edit/remove them as usual.

@deniseal
Copy link
Member

deniseal commented Mar 5, 2021

This feature should also allow for exporting the data (as a JSON, for example), thus ensuring we are complying with both right to access and right to data portability requirements. Previously requested in archived issue 189.

@t3chguy
Copy link
Member

t3chguy commented Mar 5, 2021

Surely the compliance would have to be on the service provider, i.e matrix.org rather than a specific external tool like the Element Client?
In a web tool like Element Web exporting big data chunks becomes pretty difficult as you have to spool it all into RAM and browsers get very upset when a webapp starts taking up hundreds of megabytes of RAM - so a better alternative would be a Synapse/Matrix endpoint which serves up the JSON file for download

@Yoric
Copy link
Author

Yoric commented Mar 5, 2021

Well, the endpoint already exists. It's just unusable by a end-user (I can't even think of how to explain to a end user how to login with curl and extract the token, much less how to handle pagination) and I don't see any way we can make it usable without it being part of Element Web (or other front-ends).

@Yoric
Copy link
Author

Yoric commented Mar 5, 2021

I guess that an alternative would be to write a WebExtension that can somehow grab the token from a running Element Web and build the big JSON (or less memory-hungry CSV) in-browser rather than in-page. But this requires the user to install yet another application, which is awkward.

@t3chguy
Copy link
Member

t3chguy commented Mar 5, 2021

It could be a page within Synapse, like a bunch of static pages are - https://matrix.org/_matrix/static/client/login
I guess the difficulty is when it comes to encrypted content, from a compliance standpoint you store the encrypted blobs and that's what's exportable

WebExtensions would still be locking support down to a subset of users, e.g matrix.org users on TUIs like weechat can't access it. Whilst Apple does have some tool to convert WebExtensions to be Safari compatible it would still be a decent chunk of work to address supporting (and testing) Web Extensions across Safari/Chrome/Firefox/Edge (our supported browsers)

@Yoric
Copy link
Author

Yoric commented Mar 9, 2021

It could be a page within Synapse, like a bunch of static pages are - https://matrix.org/_matrix/static/client/login

I could, indeed.

I guess the difficulty is when it comes to encrypted content, from a compliance standpoint you store the encrypted blobs and that's what's exportable.

That's ok. Data that we don't have, we can't give.

WebExtensions would still be locking support down to a subset of users, e.g matrix.org users on TUIs like weechat can't access it. Whilst Apple does have some tool to convert WebExtensions to be Safari compatible it would still be a decent chunk of work to address supporting (and testing) Web Extensions across Safari/Chrome/Firefox/Edge (our supported browsers).

I am in no way claiming that WebExtensions are a good solution. Just that it's the only somewhat usable alternative I can think of at the moment.


Anyway, we're talking about two different features.

@deniseal what's the most important? Having a UI to let users see their own messages or letting them export the messages to JSON (or CSV, etc.)?

@deniseal
Copy link
Member

@deniseal what's the most important? Having a UI to let users see their own messages or letting them export the messages to JSON (or CSV, etc.)?

@Yoric both, as this would allow us to automatically fulfill our right to access and right to data portability obligations. This doesn't need to be an instant display of information, it is legally valid to take some time to collect this information in the background and then provide to the end user (within the legal 30 days).

@hex-m
Copy link

hex-m commented May 25, 2021

The possibility to export chat logs is currently one of the most upvoted issues.

@t3chguy
Copy link
Member

t3chguy commented May 25, 2021

It is also being worked on... matrix-org/matrix-react-sdk#6081

@t3chguy t3chguy transferred this issue from element-hq/element-web Apr 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants