user: send errUserNotLoggedIn if we can't bridge event from logged-out user (#204)

This commit is contained in:
Skip R.
2025-11-19 11:10:08 -08:00
committed by GitHub
parent c8c00a42bb
commit 9eaf213091

View File

@@ -1522,9 +1522,15 @@ func (portal *Portal) RefererOptIfUser(sess *discordgo.Session, threadID string)
} }
func (portal *Portal) handleMatrixMessage(sender *User, evt *event.Event) { func (portal *Portal) handleMatrixMessage(sender *User, evt *event.Event) {
if portal.IsPrivateChat() && sender.DiscordID != portal.Key.Receiver { if portal.IsPrivateChat() {
go portal.sendMessageMetrics(evt, errUserNotReceiver, "Ignoring") if !sender.IsLoggedIn() {
return go portal.sendMessageMetrics(evt, errUserNotLoggedIn, "Ignoring")
return
}
if sender.DiscordID != portal.Key.Receiver {
go portal.sendMessageMetrics(evt, errUserNotReceiver, "Ignoring")
return
}
} }
content, ok := evt.Content.Parsed.(*event.MessageEventContent) content, ok := evt.Content.Parsed.(*event.MessageEventContent)
@@ -1918,12 +1924,13 @@ func (portal *Portal) getMatrixUsers() ([]id.UserID, error) {
} }
func (portal *Portal) handleMatrixReaction(sender *User, evt *event.Event) { func (portal *Portal) handleMatrixReaction(sender *User, evt *event.Event) {
if !sender.IsLoggedIn() {
go portal.sendMessageMetrics(evt, errUserNotLoggedIn, "Ignoring")
return
}
if portal.IsPrivateChat() && sender.DiscordID != portal.Key.Receiver { if portal.IsPrivateChat() && sender.DiscordID != portal.Key.Receiver {
go portal.sendMessageMetrics(evt, errUserNotReceiver, "Ignoring") go portal.sendMessageMetrics(evt, errUserNotReceiver, "Ignoring")
return return
} else if !sender.IsLoggedIn() {
//go portal.sendMessageMetrics(evt, errReactionUserNotLoggedIn, "Ignoring")
return
} }
reaction := evt.Content.AsReaction() reaction := evt.Content.AsReaction()
@@ -2101,9 +2108,15 @@ func (portal *Portal) handleDiscordReaction(user *User, reaction *discordgo.Mess
} }
func (portal *Portal) handleMatrixRedaction(sender *User, evt *event.Event) { func (portal *Portal) handleMatrixRedaction(sender *User, evt *event.Event) {
if portal.IsPrivateChat() && sender.DiscordID != portal.Key.Receiver { if portal.IsPrivateChat() {
go portal.sendMessageMetrics(evt, errUserNotReceiver, "Ignoring") if !sender.IsLoggedIn() {
return go portal.sendMessageMetrics(evt, errUserNotLoggedIn, "Ignoring")
return
}
if sender.DiscordID != portal.Key.Receiver {
go portal.sendMessageMetrics(evt, errUserNotReceiver, "Ignoring")
return
}
} }
sess := sender.Session sess := sender.Session