From 91bb7d3b11607dcc9d9d0cf5ff0859a425e74a2e Mon Sep 17 00:00:00 2001 From: Ed Trist Date: Wed, 21 Oct 2020 13:13:10 +0100 Subject: [PATCH] [MM-24391] Render icon_emoji names surrounded by colons in incoming webhooks (#15753) --- app/post_metadata.go | 2 ++ app/post_metadata_test.go | 12 ++++++++++++ 2 files changed, 14 insertions(+) diff --git a/app/post_metadata.go b/app/post_metadata.go index 8b4a89b913..bd59f5ed91 100644 --- a/app/post_metadata.go +++ b/app/post_metadata.go @@ -81,6 +81,8 @@ func (a *App) OverrideIconURLIfEmoji(post *model.Post) { return } + emojiName = strings.ReplaceAll(emojiName, ":", "") + if emojiUrl, err := a.GetEmojiStaticUrl(emojiName); err == nil { post.AddProp(model.POST_PROPS_OVERRIDE_ICON_URL, emojiUrl) } else { diff --git a/app/post_metadata_test.go b/app/post_metadata_test.go index 0d494e4182..9730a87fb2 100644 --- a/app/post_metadata_test.go +++ b/app/post_metadata_test.go @@ -327,6 +327,18 @@ func TestPreparePostForClient(t *testing.T) { assert.EqualValues(t, emoji, s) }) + t.Run("overrides icon URL with name surrounded by colons", func(t *testing.T) { + colonEmoji := ":basketball:" + clientPost := prepare(true, url, colonEmoji) + + s, ok := clientPost.GetProps()[model.POST_PROPS_OVERRIDE_ICON_URL] + assert.True(t, ok) + assert.EqualValues(t, overridenUrl, s) + s, ok = clientPost.GetProps()[model.POST_PROPS_OVERRIDE_ICON_EMOJI] + assert.True(t, ok) + assert.EqualValues(t, colonEmoji, s) + }) + }) t.Run("markdown image dimensions", func(t *testing.T) {