From 14f039f5a40befde5f3f6de98239f4be5c0c34fc Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Wed, 13 Nov 2019 09:36:43 +0200 Subject: [PATCH] Don't drop messages even if database says authenticated user is not in chat --- portal.go | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/portal.go b/portal.go index e074b36..088932b 100644 --- a/portal.go +++ b/portal.go @@ -1223,11 +1223,16 @@ func (portal *Portal) HandleMatrixMessage(sender *User, evt *mautrix.Event) { relaybotFormatted := false if sender.NeedsRelaybot(portal) { if !portal.HasRelaybot() { - portal.log.Debugln("Ignoring message from", sender.MXID, "in chat with no relaybot") - return + if user.HasSession() { + portal.log.Debugln("Database says", sender.MXID, "not in chat and no relaybot, but trying to send anyway") + } else { + portal.log.Debugln("Ignoring message from", sender.MXID, "in chat with no relaybot") + return + } + } else { + relaybotFormatted = portal.addRelaybotFormat(sender, evt) + sender = portal.bridge.Relaybot } - relaybotFormatted = portal.addRelaybotFormat(sender, evt) - sender = portal.bridge.Relaybot } var err error switch evt.Content.MsgType {