fix(ui/chat): render forwarded snapshots via markdown pipeline

This commit is contained in:
ayn2op 2026-02-16 19:34:42 -05:00
parent 4fcb97ba83
commit 9a80120f97

View file

@ -428,10 +428,24 @@ func (ml *messagesList) drawContent(builder *tview.LineBuilder, message discord.
}
}
func (ml *messagesList) drawSnapshotContent(builder *tview.LineBuilder, message discord.MessageSnapshotMessage, baseStyle tcell.Style) {
c := []byte(message.Content)
// discordmd doesn't support MessageSnapshotMessage, so we just use write it as is. todo?
builder.Write(string(c), baseStyle)
func (ml *messagesList) drawSnapshotContent(builder *tview.LineBuilder, parent discord.Message, snapshot discord.MessageSnapshotMessage, baseStyle tcell.Style) {
// Convert discord.MessageSnapshotMessage to discord.Message with common fields.
message := discord.Message{
Type: snapshot.Type,
Content: snapshot.Content,
Embeds: snapshot.Embeds,
Attachments: snapshot.Attachments,
Timestamp: snapshot.Timestamp,
EditedTimestamp: snapshot.EditedTimestamp,
Flags: snapshot.Flags,
Mentions: snapshot.Mentions,
MentionRoleIDs: snapshot.MentionRoleIDs,
Stickers: snapshot.Stickers,
Components: snapshot.Components,
ChannelID: parent.ChannelID,
GuildID: parent.GuildID,
}
ml.drawContent(builder, message, baseStyle)
}
func (ml *messagesList) drawDefaultMessage(builder *tview.LineBuilder, message discord.Message, baseStyle tcell.Style) {
@ -463,7 +477,7 @@ func (ml *messagesList) drawForwardedMessage(builder *tview.LineBuilder, message
ml.drawTimestamps(builder, message.Timestamp, baseStyle)
ml.drawAuthor(builder, message, baseStyle)
builder.Write(ml.cfg.Theme.MessagesList.ForwardedIndicator+" ", dimStyle)
ml.drawSnapshotContent(builder, message.MessageSnapshots[0].Message, baseStyle)
ml.drawSnapshotContent(builder, message, message.MessageSnapshots[0].Message, baseStyle)
builder.Write(" ("+ml.formatTimestamp(message.MessageSnapshots[0].Message.Timestamp)+") ", dimStyle)
}