From 8e6639648e6f6da2a2fe75644775596d5fa580cc Mon Sep 17 00:00:00 2001 From: Jannis Braun <151788261+TheZwiss@users.noreply.github.com> Date: Fri, 24 Apr 2026 00:43:32 +0200 Subject: [PATCH] feat(server): wire onPeerDeactivated on performHandshake 403 rejection --- packages/server/src/utils/federationPeering.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/server/src/utils/federationPeering.ts b/packages/server/src/utils/federationPeering.ts index fc6b9ae2..19ff03d8 100644 --- a/packages/server/src/utils/federationPeering.ts +++ b/packages/server/src/utils/federationPeering.ts @@ -4,7 +4,7 @@ import { eq } from 'drizzle-orm'; import { generateSnowflake } from './snowflake.js'; import { getOurOrigin, generateHmacSecret } from './federationAuth.js'; import { validateOrigin } from '../routes/federation.js'; -import { onPeerActivated } from './federationPeerActivation.js'; +import { onPeerActivated, onPeerDeactivated } from './federationPeerActivation.js'; // ─── Types ─────────────────────────────────────────────────────────────────── @@ -187,6 +187,9 @@ async function performHandshake( .run(); const { connectionManager } = await import('../ws/handler.js'); connectionManager.sendToAdmins({ type: 'federation_peers_changed' as const }); + onPeerDeactivated(peerId, 'remote_rejected').catch(err => + console.error('[federation] onPeerDeactivated from performHandshake rejected failed:', err) + ); return { status: 'rejected', error: errorMessage }; }