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

Auto-Delete for posts / remove old posts from database #875

Closed
1 task done
ThomasLeister opened this issue Apr 4, 2017 · 21 comments
Closed
1 task done

Auto-Delete for posts / remove old posts from database #875

ThomasLeister opened this issue Apr 4, 2017 · 21 comments

Comments

@ThomasLeister
Copy link
Contributor

Over time a lot of posts is published, federated and stored by Mastodon/ GNUSocial servers. I already proposed this for the Diaspora* social network, and would like to introduce my idea again in regards of Mastodon:

What do you think about an auto-delete function, which removes posts that are older than n days / months / years?

  • Most of the content just bloats the database, and impacts performance. Almost nobody accesses posts older that 1 year.
  • Users would be given more control over their privacy. Even if users post in public - opinions and attitudes change and sometimes we wish we hadn't said or written something months or years ago. This is no perfect mechanism, but what if we were able to just let Mastodon "forget" the past?

I'm not thinking of a general TTL for posts, but of a feature which lets the user delete posts from a certain time span. From the own server ("home server") and also 3rd party servers if possible.

What do you think about it?


  • I searched or browsed the repo’s other issues to ensure this is not a duplicate.
@ghost
Copy link

ghost commented Apr 4, 2017

I manually do this with Twitter now: a script I had to write which runs via cron to delete tweets >4weeks old. Everyone should have this power.

@sguinetti
Copy link

I suggest that this option is good for limited thoots, like Snapchat. This can configured in options.

@davidak
Copy link

davidak commented Apr 13, 2017

I don't like the idea.

Older posts can be useful. You can see them when you search for hashtags.

For example when you display all posts with the hashtag #aquaponics in diaspora*, you get very fast to 2 years old posts and they are not less useful than the newer ones.

https://pod.geraspora.de/tags/aquaponics

As a user, it would scare me when i know my posts get's deleted after some time.

You could implement a setting after what time a specific toot get's deleted. 1d/1w/1m/1y/3y/10y/never

Than users can decide if their toot is historically relevant or only for some days.

@ThomasLeister
Copy link
Contributor Author

You could implement a setting after what time a specific toot get's deleted. 1d/1w/1m/1y/3y/10y/never

I suggest the other way round: In your settings you can opt-in to auto-deletion after 1d/w/y/... if you want a certain post to live forever, you can flag it.

@davidak don't forget that we're talking about microblogging with <= 500 characters. Maybe less than 2% of all posts are relevant after one year in reality. Most posts lose their relevance even after a few days.

@davidak
Copy link

davidak commented Apr 13, 2017

Maybe less than 2% of all posts are relevant after one year in reality.

that might be true.

an example of relevant posts could be things politicians said and do differently later, so you can blame (remember) them later. another is a keybase.io proof.

important is sane communication of such automatism, so users are not surprised of the result.

@ThomasLeister ThomasLeister changed the title Auto-Delete for posts Auto-Delete for posts / remove old posts from database Jun 9, 2017
@ThomasLeister
Copy link
Contributor Author

For everyone who is searching for a way to mass-delete old posts: Have a look at https://github.com/ThomasLeister/mastopurge

@hmans
Copy link

hmans commented Aug 9, 2018

I'd just like to chime in to say that the fact that tools exist that do this is proof that there is legitimate demand for this kind of functionality. Considering that hunting for problematic old social media content has become a bit of a sport for a certain group of people, I can see this demand rising significantly in the future.

@dirkprimbs
Copy link

I'm very much in the camp of those who would like to have an auto-delete option. One of my reasons is the wish not to be analyzed by scripts that walk the social graph and message histories. Limiting your message history to some degree eliminates some of these scenarios.
Secondly, I like to have license to change my mind and leave old thoughts behing. people deserve the right to change their mind and having an endless lever of messages is pretty much contrary to that idea.

my 0,02€

@bb2k2
Copy link

bb2k2 commented Sep 14, 2018

I'm for the proposal. Many posts have a short relevance in terms of content and are then only data rubbish. I suggest to make the deletion rules individually definable for each user in the settings.

This will reduce data garbage, increase privacy and, if necessary, mark important posts as permanent!

@Kelvino9
Copy link

This is a great suggestion! It should be implemented as soon as possible.

@tzi
Copy link

tzi commented Nov 5, 2018

For those who are asking why someone would want to auto-delete their toots, I really love this article from @kensanata: https://alexschroeder.ch/wiki/2017-04-27_Record_Keeping

Cheers to you all!

@0verk1ll
Copy link

I also think that this feature should be up to the user. There could be an option in a user's settings where they opt-in to have their posts deleted after a certain time-period.

@ITwrx
Copy link

ITwrx commented Dec 29, 2018

Evaluating self hosting mastodon and i see
https://github.com/tootsuite/documentation/blob/master/Running-Mastodon/Resources-needed.md

where one user reports 1GB of storage being added per month for 79 total users/10 users a week. This could be a problem for smaller self hosters. If old data could be set to auto delete after some time this could help in a big way over time and could be the difference between being affordable or not.
It would be nice to be able to set it globally, per instance too. Instances could add it to the instance's about page so new users know that before they sign up.

i now see the linked docs are deprecated, but that content has not been replaced at the new docs location. Also, the deprecated docs could be improved to show resource utilization information for cpu, ram, storage, and bandwidth.

@danhunsaker
Copy link
Contributor

danhunsaker commented Dec 30, 2018

For my part, I'd be 100% for auto-purge by default, so long as I have the option to save the purged content somewhere as it's being removed from the DB. Long term "cold storage" is generally far cheaper than actively-used "hot storage". Think Dropbox versus the server itself.

I'm not saying specifically Dropbox, for this, but some form of long-term archival for my content which doesn't see much use would be nice, at least as a thing I can configure. The idea here being that, outside of the DB, it can be compressed to consume considerably less space, and be included in user data downloads later.

ClearlyClaire added a commit to ClearlyClaire/mastodon that referenced this issue Dec 30, 2018
rtucker pushed a commit to vulpineclub/mastodon that referenced this issue Dec 30, 2018
@kensanata
Copy link

I wrote a tool to expire old toots and favourites. Sadly, it is being severely hampered by changes in Mastodon rate limiting deletions to 1/min (a toot by Eugen from 2019-02-14). Right now I'm trying to delete over 800 statuses. Auto-deleting would serve me well.

@drequivalent
Copy link

drequivalent commented Feb 12, 2020

This should be a part of the base functionality.

Also, it has to be configurable. For example, to remove toots that have no likes, no boosts, no replies after three years. The logic being, by that time toots that were not noticed and are part of no conversation, will lose all relevance whatsoever. The messages that were noticed, stay (or just stay longer).

Also, should be configurable from the admin side (and if it's on, be clearly communicated to the user on the front page). Not a lot of us have infinite storage space.

Just my two cents.

@KopfKrieg
Copy link

Not a lot of us have infinite storage space.

For me it's not only about storage (because what I publish is mostly just text, so storage really isn't the issue for me), it's more about privacy. I just don't want toots older than, e.g., 1 year on my profile.

@drequivalent
Copy link

because what I publish is mostly just text

I host a public instance. I have a couple of memester accounts that post pics and videos. A lot of them don't get much interaction at all, and are just taking up space. For now, it holds out, and it probably will for a long time to come, but I'm still worried. There are also people that can't afford big dedicated servers.

And no, Amazon S3 is no answer. What good is the decentralization when everything is still stored by Amazon?

That's why I see the value of this feature being enforceable as an instance policy. Like, "okay guys, we store your stuff for X years. Then, if nobody needs it, it goes bye-bye, all by itself."

Another idea is to measure time beginning from the latest interaction with the post.

@0verk1ll
Copy link

0verk1ll commented Apr 4, 2020

@drequivalent Measuring time from the latest interaction sounds like a good idea. That would keep content that people actually care about from disappearing.

@MyNameIsTroll
Copy link

MyNameIsTroll commented Jul 27, 2020

I really like the idea.
Personally, I would be more interested in the possibility of creating ephemeral toots, like this:

image
image

@rmedes on mastodon suggested that this could be used for private messages as well.

But we could combine automatic deletion after a certain period of time and ephemeral toots ^^

@ThomasLeister
Copy link
Contributor Author

There seems to be a solution for auto deleting merged into main branch: #16529 I'm very happy to see that! :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests