fix: improving internal protocol - pass messageID and parentMessageID

messageID and parentMessageID are cleared in the gateway.
We need this info in Status to handle replies.

Issue #13258
This commit is contained in:
Michal Iskierko
2024-03-07 15:25:27 +01:00
committed by Michał Iskierko
parent 6d31343205
commit 1c7da47b09
3 changed files with 30 additions and 2 deletions

View File

@@ -228,6 +228,19 @@ func (b *Bstatus) toStatusMsg(msg config.Message) *common.Message {
message := common.NewMessage()
message.ChatId = msg.Channel
message.ContentType = protobuf.ChatMessage_BRIDGE_MESSAGE
var originalID, originalParentID string
if msg.Extra != nil {
originalMessageIdsList := msg.Extra["OriginalMessageIds"]
if len(originalMessageIdsList) == 1 {
originalMessageIds, ok := originalMessageIdsList[0].(config.OriginalMessageIds)
if ok {
originalID = originalMessageIds.ID
originalParentID = originalMessageIds.ParentID
}
}
}
message.Payload = &protobuf.ChatMessage_BridgeMessage{
BridgeMessage: &protobuf.BridgeMessage{
BridgeName: msg.Protocol,
@@ -235,8 +248,8 @@ func (b *Bstatus) toStatusMsg(msg config.Message) *common.Message {
UserAvatar: msg.Avatar,
UserID: msg.UserID,
Content: msg.Text,
MessageID: msg.ID,
ParentMessageID: msg.ParentID,
MessageID: originalID,
ParentMessageID: originalParentID,
},
}