I'm thinking about this because I saw a Mastodon server of eight and a half years shutting down, which is leaving its migrating users in a very awkward position if they have years' worth of posts that are being lost.
It's not, to be clear, the server admin's fault - they don't control Mastodon's feature set. It's squarely the responsibility of Mastodon to supply the server migration tools necessary to resolve these problems for its users.
@misty exporting posts is easy. Importing posts is intractable. The posts are backdated. The other accounts and instances mentioned in the backdated posts don't relate to the reposting account. Weird notification issues. Maybe tractable? Easy enough to just allow hanging a post archive searcher, viewer off the profile..."here's my old stuff", and allow the new account to use good old posts as a template.
EDIT: not intractable with appropriate limits
@vyr @misty @johnefrancis I mean we could go down endless rabbit holes to make it work, like UUID signing or something and some kind of tracking for UUID to URI mappings, but that's a veyr deep rabbit hole.
I do think a lightweight middle ground would be for Mastodon to allow browsing of a local post archive, selecting posts, and having them posted as new posts on the new instance, albeit at the expense of loss of relationship fidelity with respect to the broader federated timeline.
@scott @misty @johnefrancis fwiw, i did briefly look into what it would take to add the GTS-compatible backdating API extension and supporting internal changes to Mastodon. since i gave up on trying to work with Eugen and no longer run Mastodon myself, i'm not the girl to do it, but here's what you'd need to do to provide the API that the slurp import tool uses:
@johnefrancis @misty implementor here, it wasn't even that hard. the posts are backdated. conversations with other accounts aren't imported because of the context problem you mentioned. notifications and push federation are suppressed (boosting is still possible). compromises were necessary but it's still a massive improvement over "lol your Fedi posts are gone? put them on a static website outside Fedi".
the few people still working on AP are either uninterested in figuring out better post portability or don't have the time or clout to push any given scheme through, given that it'd need to be supported by a decent fraction of Fedi to work. that's unfortunate. but i'm mildly surprised nobody's patched Mastodon to support good-enough solutions, given that we don't have good ones yet.
@misty ya, overall account migration needs work esp around adversarial admins or sudden shut offs.
this is not helpful but that said re post data i’m kinda leaning towards opposite in that i feel it’s maybe healthier that this is a somewhat ephemeral medium?
if your server dies repost your faves and let The Archive handle the rest kinda vibe
@misty this thought is informed by when i wanted to migrate off xitter and i got all of my post data and i thought of hosting it somewhere but
i came to the conclusion that i myself could not be arsed to read through thousands of dumb tweets to pick out the good ones & the risk of hosting a convo i would now regret seeing was not worth it
@phillmv I run my own server so I’m not vulnerable to unexpected shutdowns, thankfully. But my own post history does have plenty of things I actually would want accessible from the same server I’d continue posting to after moving.
I could do that on GoToSocial or, ironically, Bluesky. But it’s simply not an option on Mastodon.
If you get too concerned about it, GoToSocial can import posts from Mastodon servers as well. This is not an argument against your point, just a potential solution to the problem for you someday.
I imported my history from mastodon.social, a Firefish instance, an Iceshrimp instance and a GoToSocial instance when I set up my own GTS server.
(It only gets posts you authored, though, nothing in reply to anyone else, so it's nowhere near as good as how Bluesky does it.)
@misty @phillmv My suggestion is to get the Mastodon archive regardless, and you can at least preserve your posts as a static HTML archive with Posty.
Bringing them over to a new instance, as others have mentioned, is currently only supported on GoToSocial via Slurp.
I wrote this piece on how I closed down Oliphant Social and maintained a static archive of the posts there.
@misty Absolutely.
The 'static archive' thing should be either part of the Mastodon export, or Mastodon should facilitate it. (They created the export format, after all, just never gave us any way to use it in Mastodon itself.)
And I'm hoping GoToSocial will just build in some kind of functionality that lets you point it at your former account (after an account move, perhaps) and stream over your posts from the active server.
But Mastodon should also just build this feature, too.
I'm hoping GoToSocial will just build in some kind of functionality that lets you point it at your former account (after an account move, perhaps) and stream over your posts from the active server.
This is almost halfway there already, as you don't even need a Mastodon export. After authenticating, slurp will pull all the posts from a live instance and dump them to a file. I bet being able to pipe the output of slurp downloading into slurp uploading wouldn't be a very big amount of work.
@misty @mcc idk what i would do if i were god-empress but related vibes:
- humans are cognitively unequipped to handle every stray thought being permanent
- in a world with finite resources is it sustainable to archive every stray thought? maybe it’s a hoarding instinct
- we deal a lot with this at work where we spend a fair bit of resources to store a lot of data we know no one ever looks at it & it causes scaling issues
- bracketing historical research, *no one including myself* will ever read through my post archive. a lot of tweets grow stale. maybe 5% of my posts are worth preserving?
@FizzyDaisies If the old server is still up you can, as your old account still exists and you can log in so you can delete posts as you like.
Of course if you deleted your account you can't do that, but then your posts will all be gone from the server anyway.
What happens to posts cached on other servers is a bit less clear, but I think (not sure!) that they will in most cases always be deleted after some time anyway.
@eramdam @misty in fairness it's still fairly early in what the creators play for it, and creating a front-end can become a massive time/effort sink distracting from building solid foundations.
Frustrating certainly for those of us who might like to use it certainly, but I respect what the team is going for there and they'll probably produce a better server as a result.
@misty @raphaelmorgan @richlv @joshuatj you don't need DIDs -- you just need a consistent mapping from an old user id to a new user id and an old post id to a new post id. and a server->server bulk import tool and functionality for servers to update their internal user mappings upon a 301 permanently moved.
problems arise though because 1) mastodon's post ids are only unique per-server and 2) a server's internal representation of external users is a username@domain tied to an internal identifier, which needs to update upon receiving a 301. these are both doable, as i understand it -- but only really doable by someone very familiar with the codebase since ids are used everywhere... so realistically one of the very few masto core developers :c
@misty fwiw i wrote abt this in more detail and why i think it's feasible some time ago, if you're interested: https://github.com/mastodon/mastodon/issues/12423#issuecomment-1956384303
(it got immediately misunderstood tho 🫤)
@joshuatj This third-party Mastodon migration tool is a laudable effort but using it is well beyond the abilities of ordinary users.