Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

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

Configurable history retention limits for rooms #729

Closed
ara4n opened this issue May 3, 2017 · 29 comments
Closed

Configurable history retention limits for rooms #729

ara4n opened this issue May 3, 2017 · 29 comments
Labels
O-Occasional Affects or can be seen by some users regularly or most users rarely Privacy T-Enhancement

Comments

@ara4n
Copy link
Member

ara4n commented May 3, 2017

there doesn't seem to be a riot bug to track the need to define a configurable retention limit for a room, as needed for compliance and other enterprise uses.

@uhoreg
Copy link
Member

uhoreg commented May 4, 2017

related to element-hq/element-web#3177

@lampholder lampholder added the P3 label May 5, 2017
@lampholder
Copy link
Member

I've P3'ed this for now; obviously this is a hard requirement for enterprise use so this will very likely become higher priority in the future.

@roadkillazpartybird
Copy link

roadkillazpartybird commented Jun 21, 2017

An option to set the number of messages, or amount of days until messages 'expire' would be lovely.

At the moment Riot accumulates all chat history forever, which can be annoying and sometimes bad for privacy.

@aaronraimist
Copy link

This is pretty close to element-hq/element-web#3104 (but this has a few more 👍s)

@Perflyst
Copy link

Support for this was added in synapse with 1.7.0rc1

@4nd3r
Copy link

4nd3r commented Mar 26, 2020

this is major blocker before many homeservers can rollout message retention.

room admins must be able to configure room retention straight from client and users must be able to see current retention policy.

please make it happen. who I have to pay to get this?

@michaelBenin
Copy link

Support for this was added in synapse with 1.7.0rc1

Is there documentation where to set this in the ui?

@t3chguy
Copy link
Member

t3chguy commented Jun 3, 2020

It has support in Synapse but no support in any UI yet.

@rubo77
Copy link

rubo77 commented Jun 3, 2020

So how do you set it?

@t3chguy
Copy link
Member

t3chguy commented Jun 3, 2020

The Matrix API

@michaelBenin
Copy link

Users on the free matrix, can we set it there? Or would we need to host our own to set this?

@michaelBenin
Copy link

FTR I have a group coming from Keybase. Ever since they were bought by Zoom our groups are thinking about moving to Riot.

@michaelBenin
Copy link

The Matrix API

If you have time, could we get a link to the api docs where to set this?

@rubo77
Copy link

rubo77 commented Jun 5, 2020

Is there an issue in riot already, to implement this retention setting there for room admins?

@t3chguy
Copy link
Member

t3chguy commented Jun 5, 2020

Yes. This one.

@catscratchedme
Copy link

Sorry if I'm misunderstanding something, I'm a layman user.

The doc that t3chguy linked says the following:

The above example means that servers receiving messages in this room should store the event for only 86400 seconds (1 day), as measured from that event's origin_server_ts, after which they MUST purge all references to that event (e.g. from their db and any in-memory queues).

We consciously do not redact the event, as we are trying to eliminate metadata and save disk space at the cost of deliberately discarding older messages from the DAG.

This seems to imply that that purging messages is different from redacting them. My understanding is that redacting a message asks the server to mark the message as redact, and then the server may either delete the encrypted message contents, or choose not to delete it. But the metadata is all retained.

It seems like purging a message would ask the server to delete all the metadata related to that message. I recall reading somewhere that matrix retained lots of metadata because deleting it would 'break the timeline,' and cause the room to break. Is this no longer true?

@t3chguy
Copy link
Member

t3chguy commented Jun 7, 2020

That's not a query for riot-web and you'll get a better response elsewhere

@progserega
Copy link

It very nice feature! 👍

@altsalt
Copy link

altsalt commented Jan 17, 2021

Related to matrix-org/synapse#6287

@kittykat
Copy link
Contributor

Thank you, we appreciate that you took your time to file this enhancement request. I am going to close it for now in favour of a cross-platform issue to help us track the request more effectively. Please follow this issue for further updates: /issues/82

@pztrn
Copy link

pztrn commented Jan 9, 2022

There is still no possibility to configure retention per room via web, why closing? Self-destructing messages even sounds completely different with this issue.

@SimonBrandner SimonBrandner added O-Occasional Affects or can be seen by some users regularly or most users rarely and removed P1 labels Jan 9, 2022
@SimonBrandner
Copy link

There is still no possibility to configure retention per room via web, why closing? Self-destructing messages even sounds completely different with this issue.

Ah, you're right retention limit != self-destructing messages, I am assuming closing this issue was an accident. Thanks for letting us know

@SimonBrandner SimonBrandner reopened this Jan 9, 2022
@mijutu
Copy link

mijutu commented Feb 5, 2022

It is possible to send custom events from developer tools of element web and set room retention time there. Something like: Right-click a room → Settings → Advanced → Open developer tools → Send custom event

type: m.room.retention
content: { "max_lifetime": 34560000002 }

Click the red "Event"-button and then send.

After sending, you can verify that the retention is set: Go back and choose room state and m.room.retention there. Or with sql: SELECT * FROM room_retention WHERE room_id='!...';

@MurzNN
Copy link

MurzNN commented Feb 5, 2022

The problem is that Element can send this event, but will not follow it :( Only Synapse now actually follow this rule and delete expired events, but all Elements and other clients still store them in cache :( So we've got a strange situation when event is deleted on server, but still present on clients...

@SamiLehtinen
Copy link

Expired events also cause other annoying problems like this one: matrix-org/synapse#10787

@t3chguy
Copy link
Member

t3chguy commented May 26, 2022

@moan0s
Copy link

moan0s commented Aug 6, 2022

As retention currently causes bugs in existing installations and is important for some groups of people (companies, activists) I would really like to see this move forward.

@kittykat
Copy link
Contributor

Moving this issue to discussions in Element meta as we need to make a cross platform decision on how to proceed 👍

@element-hq element-hq locked and limited conversation to collaborators Oct 10, 2022
@kittykat kittykat converted this issue into discussion #730 Oct 10, 2022
@kittykat kittykat transferred this issue from element-hq/element-web Oct 10, 2022

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
O-Occasional Affects or can be seen by some users regularly or most users rarely Privacy T-Enhancement
Projects
None yet
Development

No branches or pull requests