On the technical topic of renaming a domain of a Lemmy server... I think it is worth experimenting with the code. At minimum, I think it should be an option to try and keep the same login/passwords for users from the old install of Lemmy. But even that could prove tricky if a particular domain changed underllying ownership more than once - and user@domain became rewritten by an entirely different person. I guess in the real-world people do often get mail for previous residence of a house.
My biggest concern is legality because Lemmy claims to support privacy. I honestly think it's a bad idea to claim privacy because you run into so many problems. If the user never knows that their lemmy instance changed names and can't find it again, etc. Especially on technical topics, 15+ years of having Reddit keep messages from deleted user accounts offered a lot of great search engine hits. With Lemmy, a person moving to a different instance and deleting their account, so much content is going to get black-hole in favor of 50 instances having copies of a meme post or trivial website link - and solid original content (often in comment discussions) gets removed.
Up until early July, Lemmy was damned if you do, damned if you don't. Federation had massive performance overhead due to some bugs and each additional instance that went online and subscribed to the big 4 popular servers was causing an even worse load problem than if say 30 users had joined directly. Especially instances that wanted a fully populated All listing, that meant every single thing was being sent to the server even if nobody was really reading that stuff.
And things like searching for topic content are going to be pretty limited given these newer servers don't have much history.
The aftermath of this attempt to scale is that there is also likely a lot of duplicate data, conversations that are mostly repetitive and posts to the same topics. Let alone the bugs Lemmy has federating deletes and moderation removal that doesn't impact direct users on the main servers as much.
The project had gone on for 4 years without a lot of testing... old code like login form had all kinds of problems, etc. Lemmy-ui had almost no ability to cope with errors from the backend, and often error messages didn't even exist for the API calls. There was a huge rush to fix so many areas that were outright not working.
If anyone finds where this is in the code, please share. I'm sure some non-Lemmy code will allow longer, so I'm guessing it is only a input restriction... and someone could always hack their lemmy to allow longer. I don't suspect it is the database that has any limit.
And if it fails, I read somewhere that there is no handling in place, so it falls into void.
That is true in the current design, but in studying the actual outcomes, delivery-failures are not happening nearly as much as the problems with deletes and moderation.
I've been comparing servers for posts and comments for weeks, with 0.18.2 versions in the field - the majority of current inconsistencies are logic problems in the code that never even attempts to send (like deletes only going to 2 of 50+ servers).
Since 0.18.2 has been deployed by the bigger servers, the speed of propagation is really not much of an issue. The problem is a bug was introduced for posts on June 23, and for comments it seems that perhaps it has never worked. See my other comment for details.
For posts, I have been working on it this week and found that it has been broken since June 23 commit. Posts don't even get removed on the home server with 0.18.2, a fix is already waiting for acceptance: https://github.com/LemmyNet/lemmy/pull/3613
As for comments, with 0.18.2 - it depends where the delete is done. If you are on a remote instance from the community, the comment will be deleted on 2 servers, but no more. The local instance you use will delete, as will the community home, but it seems to me there never was any code to distribute deletes to subscribed servers: https://github.com/LemmyNet/lemmy/issues/3625
It also impacts moderators removing posts and comments. As these internally are similar to deletes. !asklemmy@lemmy.ml is one of the communities that has a lot of moderator removals due to people confusing the purpose of it as a technical support forum, and you can see servers not getting the mod removals frequently.
open APIs for other instances to be able to access the content of your instance in order to make federation possible.
the federation API is independent of the front-end client API. You can run headless, without lemmy-ui, and federation still works. The API structure for federation is standardized, the front-end client API is unique to Lemmy.
Even the person to person blocking is taking into consideration with that query. Lemmy's SQL output isn't well optimized for caching, it puts a lot of work on PostgreSQL to customize these views. It is only users who are not logged-in that would get a repeatable query.
On the technical topic of renaming a domain of a Lemmy server... I think it is worth experimenting with the code. At minimum, I think it should be an option to try and keep the same login/passwords for users from the old install of Lemmy. But even that could prove tricky if a particular domain changed underllying ownership more than once - and user@domain became rewritten by an entirely different person. I guess in the real-world people do often get mail for previous residence of a house.
My biggest concern is legality because Lemmy claims to support privacy. I honestly think it's a bad idea to claim privacy because you run into so many problems. If the user never knows that their lemmy instance changed names and can't find it again, etc. Especially on technical topics, 15+ years of having Reddit keep messages from deleted user accounts offered a lot of great search engine hits. With Lemmy, a person moving to a different instance and deleting their account, so much content is going to get black-hole in favor of 50 instances having copies of a meme post or trivial website link - and solid original content (often in comment discussions) gets removed.