feat: implement Phase 1 server-side federation groundwork

Add multi-instance support foundation: shared federation types
(ReplicatedInstance, InstanceInfoResponse, VerifyPasswordRequest),
database schema changes (home_instance, replicated_instances on users,
instance_name on settings), public instance info endpoint, auth
registration with homeInstance and username@domain collision fallback,
password verification endpoint, and replicatedInstances sync on user
profile. Extract duplicated sanitizeUser into shared utility across
8 server files.
This commit is contained in:
Jannis Braun
2026-03-02 23:15:43 +01:00
parent 37dc73231d
commit 22440b5a24
16 changed files with 195 additions and 121 deletions
+13
View File
@@ -54,6 +54,19 @@ export function runMigrations(db: Database.Database): void {
columns: [
{ name: 'is_admin', type: 'INTEGER DEFAULT 0' }
]
},
{
name: 'users',
columns: [
{ name: 'home_instance', type: 'TEXT' },
{ name: 'replicated_instances', type: "TEXT DEFAULT '[]'" }
]
},
{
name: 'instance_settings',
columns: [
{ name: 'instance_name', type: "TEXT DEFAULT 'Backspace'" }
]
}
];