Don't drop messages even if database says authenticated user is not in chat

This commit is contained in:
Tulir Asokan 2019-11-13 09:36:43 +02:00
parent 3caca1b9a0
commit 14f039f5a4

View file

@ -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 {