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
@@ -61,6 +61,8 @@ const makeRequest = (overrides: Partial<FriendRequest> = {}): FriendRequest => (
customStatus: null,
isAdmin: false,
createdAt: Date.now(),
homeInstance: null,
replicatedInstances: [],
},
...overrides,
});
@@ -215,6 +217,8 @@ describe('FriendsPage', () => {
customStatus: null,
isAdmin: false,
createdAt: Date.now(),
homeInstance: null,
replicatedInstances: [],
},
});
@@ -260,6 +264,8 @@ describe('FriendsPage', () => {
customStatus: null,
isAdmin: false,
createdAt: Date.now(),
homeInstance: null,
replicatedInstances: [],
},
});
@@ -300,6 +306,8 @@ describe('FriendsPage', () => {
customStatus: null,
isAdmin: false,
createdAt: Date.now(),
homeInstance: null,
replicatedInstances: [],
},
});