From 2c8d43da9a2fe0066de8d75d82c61ca354d4279a Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Wed, 21 Sep 2022 14:19:27 -0600 Subject: [PATCH] Don't try to populate intents for users on other homeservers --- src/appservice/Appservice.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/appservice/Appservice.ts b/src/appservice/Appservice.ts index 7fb65d96..c1e44cf8 100644 --- a/src/appservice/Appservice.ts +++ b/src/appservice/Appservice.ts @@ -19,6 +19,7 @@ import { Metrics, OTKAlgorithm, redactObjectForLogging, + UserID, } from ".."; import { MatrixBridge } from "./MatrixBridge"; import { IApplicationServiceProtocol } from "./http_responses"; @@ -611,6 +612,10 @@ export class Appservice extends EventEmitter { private async processMembershipEvent(event: any): Promise { if (!event["content"]) return; + const domain = new UserID(event['state_key']).domain; + const botDomain = new UserID(this.botUserId).domain; + if (domain !== botDomain) return; // can't be impersonated, so don't try + // Update the target intent's joined rooms (fixes transition errors with the cache, like join->kick->join) const intent = this.getIntentForUserId(event['state_key']); await intent.refreshJoinedRooms();