From f2585f7bcce171d187b14bfbc0dfd3012b489377 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Sat, 29 Jun 2024 23:29:51 +0300 Subject: [PATCH] bridgev2: don't use double puppet of other user in DMs --- bridgev2/portal.go | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/bridgev2/portal.go b/bridgev2/portal.go index 23bd5870..fc745388 100644 --- a/bridgev2/portal.go +++ b/bridgev2/portal.go @@ -999,7 +999,7 @@ func (portal *Portal) getIntentAndUserMXIDFor(ctx context.Context, sender EventS return } extraUserID = source.UserMXID - } else if sender.SenderLogin != "" { + } else if sender.SenderLogin != "" && portal.Receiver == "" { senderLogin := portal.Bridge.GetCachedUserLoginByID(sender.SenderLogin) if senderLogin != nil { intent = senderLogin.User.DoublePuppet(ctx) @@ -1010,13 +1010,15 @@ func (portal *Portal) getIntentAndUserMXIDFor(ctx context.Context, sender EventS } } if sender.Sender != "" { - for _, login := range otherLogins { - if login.Client.IsThisUser(ctx, sender.Sender) { - intent = login.User.DoublePuppet(ctx) - if intent != nil { - return + if portal.Receiver == "" { + for _, login := range otherLogins { + if login.Client.IsThisUser(ctx, sender.Sender) { + intent = login.User.DoublePuppet(ctx) + if intent != nil { + return + } + extraUserID = login.UserMXID } - extraUserID = login.UserMXID } } ghost, err := portal.Bridge.GetGhostByID(ctx, sender.Sender)