From ca0a6ba8934039cec8be0ea217273696230b20c9 Mon Sep 17 00:00:00 2001 From: dhulke Date: Sat, 10 Jan 2026 16:24:58 -0300 Subject: [PATCH] fix: optimize domain reachability check in FederationValidationService --- .../src/services/federation-validation.service.ts | 5 +++++ packages/federation-sdk/src/services/invite.service.ts | 10 +++++----- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/packages/federation-sdk/src/services/federation-validation.service.ts b/packages/federation-sdk/src/services/federation-validation.service.ts index c7f15233..3aaa56c1 100644 --- a/packages/federation-sdk/src/services/federation-validation.service.ts +++ b/packages/federation-sdk/src/services/federation-validation.service.ts @@ -62,6 +62,11 @@ export class FederationValidationService { } private async checkDomainReachable(domain: string): Promise { + // Early return for same-server domain - no need to check reachability + if (domain === this.configService.serverName) { + return; + } + const timeoutMs = this.configService.getConfig('networkCheckTimeoutMs') || 5000; diff --git a/packages/federation-sdk/src/services/invite.service.ts b/packages/federation-sdk/src/services/invite.service.ts index 9a2a5aff..056dd0a8 100644 --- a/packages/federation-sdk/src/services/invite.service.ts +++ b/packages/federation-sdk/src/services/invite.service.ts @@ -96,11 +96,6 @@ export class InviteService { ); } - await this.federationValidationService.validateOutboundInvite( - userId, - roomId, - ); - // if user invited belongs to our server if (invitedServer === this.configService.serverName) { await stateService.handlePdu(inviteEvent); @@ -119,6 +114,11 @@ export class InviteService { }; } + await this.federationValidationService.validateOutboundInvite( + userId, + roomId, + ); + // get signed invite event const inviteResponse = await federationService.inviteUser( inviteEvent,