connector/matrix: more logging for matrix message handling
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
This commit is contained in:
+18
-4
@@ -3,6 +3,7 @@ package connector
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"crypto/sha256"
|
"crypto/sha256"
|
||||||
|
"encoding/base64"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"image"
|
"image"
|
||||||
@@ -184,6 +185,8 @@ func (t *TelegramClient) HandleMatrixMessage(ctx context.Context, msg *bridgev2.
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
log := zerolog.Ctx(ctx).With().Stringer("portal_key", msg.Portal.PortalKey).Any("peer_id", peer).Logger()
|
||||||
|
ctx = log.WithContext(ctx)
|
||||||
|
|
||||||
var contentURI id.ContentURIString
|
var contentURI id.ContentURIString
|
||||||
|
|
||||||
@@ -195,12 +198,12 @@ func (t *TelegramClient) HandleMatrixMessage(ctx context.Context, msg *bridgev2.
|
|||||||
if msg.ReplyTo != nil {
|
if msg.ReplyTo != nil {
|
||||||
_, messageID, err := ids.ParseMessageID(msg.ReplyTo.ID)
|
_, messageID, err := ids.ParseMessageID(msg.ReplyTo.ID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
log.Warn().Msg("failed to parse replied-to message ID")
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
replyTo = &tg.InputReplyToMessage{ReplyToMsgID: messageID}
|
replyTo = &tg.InputReplyToMessage{ReplyToMsgID: messageID}
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO handle sticker
|
|
||||||
var updates tg.UpdatesClass
|
var updates tg.UpdatesClass
|
||||||
if msg.Event.Type == event.EventSticker {
|
if msg.Event.Type == event.EventSticker {
|
||||||
var media tg.InputMediaClass
|
var media tg.InputMediaClass
|
||||||
@@ -267,6 +270,7 @@ func (t *TelegramClient) HandleMatrixMessage(ctx context.Context, msg *bridgev2.
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
log.Err(err).Msg("failed to send message to Telegram")
|
||||||
return nil, t.humanizeSendError(err)
|
return nil, t.humanizeSendError(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -297,15 +301,25 @@ func (t *TelegramClient) HandleMatrixMessage(ctx context.Context, msg *bridgev2.
|
|||||||
return nil, fmt.Errorf("unknown update from message response %T", updates)
|
return nil, fmt.Errorf("unknown update from message response %T", updates)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
messageID := ids.MakeMessageID(msg.Portal.PortalKey, tgMessageID)
|
||||||
|
timestamp := time.Unix(int64(tgDate), 0)
|
||||||
|
hash := hasher.Sum(nil)
|
||||||
|
log.Info().
|
||||||
|
Int("tg_message_id", tgMessageID).
|
||||||
|
Str("message_id", string(messageID)).
|
||||||
|
Time("timestamp", timestamp).
|
||||||
|
Str("content_hash", base64.StdEncoding.EncodeToString(hash)).
|
||||||
|
Msg("sent message successfully")
|
||||||
|
|
||||||
resp = &bridgev2.MatrixMessageResponse{
|
resp = &bridgev2.MatrixMessageResponse{
|
||||||
DB: &database.Message{
|
DB: &database.Message{
|
||||||
ID: ids.MakeMessageID(msg.Portal.PortalKey, tgMessageID),
|
ID: messageID,
|
||||||
MXID: msg.Event.ID,
|
MXID: msg.Event.ID,
|
||||||
Room: msg.Portal.PortalKey,
|
Room: msg.Portal.PortalKey,
|
||||||
SenderID: t.userID,
|
SenderID: t.userID,
|
||||||
Timestamp: time.Unix(int64(tgDate), 0),
|
Timestamp: timestamp,
|
||||||
Metadata: &MessageMetadata{
|
Metadata: &MessageMetadata{
|
||||||
ContentHash: hasher.Sum(nil),
|
ContentHash: hash,
|
||||||
ContentURI: contentURI,
|
ContentURI: contentURI,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user