connector/tomatrix: log when hashing unsupported media type

Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
This commit is contained in:
Sumner Evans
2024-10-24 10:53:11 -06:00
parent 229efdd487
commit 9f6a54be81
2 changed files with 7 additions and 5 deletions
+2 -2
View File
@@ -208,7 +208,7 @@ func (t *TelegramClient) HandleMatrixMessage(ctx context.Context, msg *bridgev2.
case *tg.UpdateNewMessage:
msg := update.Message.(*tg.Message)
hasher.Write([]byte(msg.Message))
hasher.Write(mediaHashID(msg.Media))
hasher.Write(mediaHashID(ctx, msg.Media))
}
}
if tgMessageID == 0 {
@@ -293,7 +293,7 @@ func (t *TelegramClient) HandleMatrixEdit(ctx context.Context, msg *bridgev2.Mat
case *tg.UpdateNewMessage:
msg := update.Message.(*tg.Message)
hasher.Write([]byte(msg.Message))
hasher.Write(mediaHashID(msg.Media))
hasher.Write(mediaHashID(ctx, msg.Media))
}
}
default:
+5 -3
View File
@@ -33,12 +33,14 @@ type ttlable interface {
GetTTLSeconds() (value int, ok bool)
}
func mediaHashID(media tg.MessageMediaClass) []byte {
switch media := media.(type) {
func mediaHashID(ctx context.Context, m tg.MessageMediaClass) []byte {
switch media := m.(type) {
case *tg.MessageMediaPhoto:
return binary.BigEndian.AppendUint64(nil, uint64(media.Photo.GetID()))
case *tg.MessageMediaDocument:
return binary.BigEndian.AppendUint64(nil, uint64(media.Document.GetID()))
default:
zerolog.Ctx(ctx).Error().Type("media_type", m).Msg("Attempted to get hash for unsupported media type ID")
}
return nil
}
@@ -67,7 +69,7 @@ func (c *TelegramClient) mediaToMatrix(ctx context.Context, portal *bridgev2.Por
}, nil, nil, nil
case tg.MessageMediaPhotoTypeID, tg.MessageMediaDocumentTypeID:
converted, disappearingSetting, err := c.convertMediaRequiringUpload(ctx, portal, intent, msg.ID, media)
return converted, disappearingSetting, mediaHashID(media), err
return converted, disappearingSetting, mediaHashID(ctx, media), err
case tg.MessageMediaContactTypeID:
return c.convertContact(media), nil, nil, nil
case tg.MessageMediaGeoTypeID, tg.MessageMediaGeoLiveTypeID, tg.MessageMediaVenueTypeID: