Is it possible or does it present difficulties with federation?
I’m asking because today Vlemmy seems dead and people are speculating it has something to do with losing the domain name. So I want to know if there is a possibility the same server could come up again under a different domain but keeping the same accounts and content stored or if they will need to set up a new server and thus it’s just better to move on to another instance.
You’re saying matrix stores channel name as name + instance even for local channels? That it’s not using standard practice of denormalizing data?
What you see in the frontend or API isn’t necessarily how it’s stored.
There is no such thing as a local matrix channel. Just one which is set to not allow off-instance accounts access.
The reason the domain has to be appended to everything in federated systems, is that its the only way to make sure you don’t get name collision when federating. So that when servers talk to each other about stuff, everything has a unique identifier.
You can have dibs on your domain. You cannot have dibs on just random data labels. But if you do random label+domain, you can be sure no-one else on any other server can use that exact same id.
Also I do know.
I’ve attempted the changing of a matrix server’s domain, without a database purge. It was a waste of time, the instance was only a day old anyway, so I just started over in the end.
That seems somewhat silly.
With email servers, local messages are passed without the domain. Same with HTML. It’s only when “federating” to other servers that a domain is required. I can’t really see why ActivityPub would be any different in what it requires.
If Matrix is requiring the domain, that’s likely to do with encryption and validation, which has always been an issue with Internet 1.0 services. But it seems to me it should still be possible, just not done with current server implementations.
You mean local matrix channels don’t exist in storage schema, right? Not that they don’t exist or make sense conceptually?
Because a channel is always hosted on one owning instance.
Yes.
*Normalising
Denormalising is the other way around, ie accepting duplicated or less than optimally organised data for some other reason (eg for performance or to reduce complexity for your filthy human brain - but usually performance)
Sorry I know that’s a very minor nitpick.
It’s not that minor. Thank you for the correction. :)
Data normalization has nothing to do with it.
All Matrix channels are a channel name and a domain. That’s a unique identifier. You need unique identifiers. Matrix is not designed to exist in an vacuum (even if you can make it work that way). Locality is dictated by policy not by the data model.