aboutsummaryrefslogtreecommitdiff
path: root/ui/messages/parser.go
diff options
context:
space:
mode:
Diffstat (limited to 'ui/messages/parser.go')
-rw-r--r--ui/messages/parser.go15
1 files changed, 10 insertions, 5 deletions
diff --git a/ui/messages/parser.go b/ui/messages/parser.go
index 7b76a69..097c9d0 100644
--- a/ui/messages/parser.go
+++ b/ui/messages/parser.go
@@ -37,13 +37,18 @@ func ParseEvent(matrix ifc.MatrixContainer, room *rooms.Room, evt *mautrix.Event
return nil
}
if len(evt.Content.GetReplyTo()) > 0 {
- roomID := evt.Content.RelatesTo.InReplyTo.RoomID
- if len(roomID) == 0 {
- roomID = room.ID
+ replyToRoom := room
+ if len(evt.Content.RelatesTo.InReplyTo.RoomID) > 0 {
+ replyToRoom = matrix.GetRoom(evt.Content.RelatesTo.InReplyTo.RoomID)
}
- replyToEvt, _ := matrix.GetEvent(room, evt.Content.GetReplyTo())
+ replyToEvt, _ := matrix.GetEvent(replyToRoom, evt.Content.GetReplyTo())
if replyToEvt != nil {
- // TODO add reply header
+ replyToMsg := directParseEvent(matrix, replyToRoom, replyToEvt)
+ if replyToMsg != nil {
+ msg.SetReplyTo(replyToMsg)
+ } else {
+ // TODO add unrenderable reply header
+ }
} else {
// TODO add unknown reply header
}