decrypt parent event only when really needed, lookup threadID only when really needed

This commit is contained in:
Aine
2022-11-15 16:02:31 +02:00
parent e7be9c6fad
commit 7c59ff4b2e

View File

@@ -165,7 +165,9 @@ func (b *Bot) SendEmailReply(ctx context.Context) {
return
}
meta.ThreadID = b.getThreadID(evt.RoomID, meta.InReplyTo, meta.References)
if meta.ThreadID == "" {
meta.ThreadID = b.getThreadID(evt.RoomID, meta.InReplyTo, meta.References)
}
content := evt.Content.AsMessage()
if meta.Subject == "" {
meta.Subject = strings.SplitN(content.Body, "\n", 1)[0]
@@ -227,10 +229,12 @@ func (b *Bot) getParentEvent(evt *event.Event) (id.EventID, *event.Event) {
utils.ParseContent(parentEvt, event.EventEncrypted)
decrypted, err := b.lp.GetMachine().DecryptMegolmEvent(evt)
if err != nil {
if err != crypto.IncorrectEncryptedContentType || err != crypto.UnsupportedAlgorithm {
b.log.Error("cannot decrypt parent event: %v", err)
return threadID, nil
if errors.Is(err, crypto.IncorrectEncryptedContentType) || errors.Is(err, crypto.UnsupportedAlgorithm) {
utils.ParseContent(parentEvt, event.EventMessage)
return threadID, parentEvt
}
b.log.Error("cannot decrypt parent event: %v", err)
return threadID, nil
}
utils.ParseContent(decrypted, event.EventMessage)