Fix message editing from double puppets

This commit is contained in:
Gary Kramlich
2022-04-20 06:10:26 -05:00
parent 47463fa220
commit 28d2e6fe38

View File

@@ -427,10 +427,6 @@ func (p *Portal) handleDiscordMessageCreate(user *User, msg *discordgo.Message)
} }
func (p *Portal) handleDiscordMessagesUpdate(user *User, msg *discordgo.Message) { func (p *Portal) handleDiscordMessagesUpdate(user *User, msg *discordgo.Message) {
if msg.Author != nil && user.ID == msg.Author.ID {
return
}
if p.MXID == "" { if p.MXID == "" {
p.log.Warnln("handle message called without a valid portal") p.log.Warnln("handle message called without a valid portal")
@@ -485,17 +481,15 @@ func (p *Portal) handleDiscordMessagesUpdate(user *User, msg *discordgo.Message)
content.SetEdit(existing.MatrixID) content.SetEdit(existing.MatrixID)
_, err := intent.SendMessageEvent(p.MXID, event.EventMessage, content) resp, err := intent.SendMessageEvent(p.MXID, event.EventMessage, content)
if err != nil { if err != nil {
p.log.Warnfln("failed to send message %q to matrix: %v", msg.ID, err) p.log.Warnfln("failed to send message %q to matrix: %v", msg.ID, err)
return return
} }
// It appears that matrix updates only work against the original event id ts, _ := msg.Timestamp.Parse()
// so updating it to the new one from an edit makes it so you can't update p.markMessageHandled(existing, msg.ID, resp.EventID, msg.Author.ID, ts)
// it anyways. So we just don't update anything and we can keep updating
// the message.
} }
func (p *Portal) handleDiscordMessageDelete(user *User, msg *discordgo.Message) { func (p *Portal) handleDiscordMessageDelete(user *User, msg *discordgo.Message) {