feat: expose autoAcceptPeering in admin settings and add rejectedPeerOrigins to ready payload
This commit is contained in:
@@ -192,6 +192,7 @@ export async function settingsRoutes(app: FastifyInstance): Promise<void> {
|
||||
federationRelayEnabled: row.federationRelayEnabled === 1,
|
||||
federationRelayTtlDays: row.federationRelayTtlDays,
|
||||
defaultAutoRotateIntervalDays: row.defaultAutoRotateIntervalDays,
|
||||
autoAcceptPeering: row.autoAcceptPeering === 1,
|
||||
};
|
||||
|
||||
return reply.code(200).send(response);
|
||||
@@ -258,6 +259,10 @@ export async function settingsRoutes(app: FastifyInstance): Promise<void> {
|
||||
updateData.defaultAutoRotateIntervalDays = interval;
|
||||
}
|
||||
|
||||
if (body.autoAcceptPeering !== undefined) {
|
||||
updateData.autoAcceptPeering = body.autoAcceptPeering ? 1 : 0;
|
||||
}
|
||||
|
||||
db.update(schema.instanceSettings).set(updateData).where(eq(schema.instanceSettings.id, 1)).run();
|
||||
|
||||
const updatedRow = db.select().from(schema.instanceSettings).where(eq(schema.instanceSettings.id, 1)).get();
|
||||
@@ -277,6 +282,7 @@ export async function settingsRoutes(app: FastifyInstance): Promise<void> {
|
||||
federationRelayEnabled: updatedRow.federationRelayEnabled === 1,
|
||||
federationRelayTtlDays: updatedRow.federationRelayTtlDays,
|
||||
defaultAutoRotateIntervalDays: updatedRow.defaultAutoRotateIntervalDays,
|
||||
autoAcceptPeering: updatedRow.autoAcceptPeering === 1,
|
||||
};
|
||||
|
||||
return reply.code(200).send(response);
|
||||
|
||||
@@ -935,6 +935,7 @@ function buildReadyPayload(userId: string): {
|
||||
readStates: ReadState[];
|
||||
activeCalls: ActiveCallInfo[];
|
||||
userActivities: Record<string, Activity[]>;
|
||||
rejectedPeerOrigins: string[];
|
||||
} {
|
||||
const db = getDb();
|
||||
|
||||
@@ -1463,7 +1464,15 @@ function buildReadyPayload(userId: string): {
|
||||
}
|
||||
}
|
||||
|
||||
return { user, spaces, dmChannels, folders, spaceLayout, layoutUpdatedAt, voiceStates, voiceUserStates, spaceVoiceStates, readStates, activeCalls, userActivities };
|
||||
// Rejected peer origins for unreachable member indicators
|
||||
const rejectedPeers = db
|
||||
.select({ origin: schema.federationPeers.origin })
|
||||
.from(schema.federationPeers)
|
||||
.where(eq(schema.federationPeers.status, 'rejected'))
|
||||
.all();
|
||||
const rejectedPeerOrigins = rejectedPeers.map(p => p.origin);
|
||||
|
||||
return { user, spaces, dmChannels, folders, spaceLayout, layoutUpdatedAt, voiceStates, voiceUserStates, spaceVoiceStates, readStates, activeCalls, userActivities, rejectedPeerOrigins };
|
||||
}
|
||||
|
||||
export async function registerWebSocket(app: FastifyInstance): Promise<void> {
|
||||
|
||||
Reference in New Issue
Block a user