diff --git a/src/invidious/comments/content.cr b/src/invidious/comments/content.cr
index bbeb9065..6fac94b6 100644
--- a/src/invidious/comments/content.cr
+++ b/src/invidious/comments/content.cr
@@ -64,19 +64,27 @@ def content_to_comment_html(content, video_id : String? = "")
# check for custom emojis
if run["emoji"]?
if emoji_image = run.dig?("emoji", "image")
- emoji_alt = HTML.escape(emoji_image.dig?("accessibility", "accessibilityData", "label").try(&.as_s) || text)
- emoji_thumb = emoji_image["thumbnails"][0]
- text = String.build do |str|
- str << %(
)
+ thumbnails = emoji_image["thumbnails"]?.try &.as_a?
+ if thumbnails && (emoji_thumb = thumbnails.first?) && (thumb_url = emoji_thumb["url"]?.try &.as_s?)
+ raw_label = emoji_image.dig?("accessibility", "accessibilityData", "label").try &.as_s?
+ emoji_alt = raw_label ? HTML.escape(raw_label) : text
+
+ text = String.build do |str|
+ str << %(
)
+ end
end
else
# Hide deleted channel emoji
- text = ""
+ text = "" if text.starts_with?(':') && text.ends_with?(':')
end
end
diff --git a/src/invidious/videos/description.cr b/src/invidious/videos/description.cr
index 2c983269..f9779531 100644
--- a/src/invidious/videos/description.cr
+++ b/src/invidious/videos/description.cr
@@ -80,8 +80,34 @@ def parse_description(desc, video_id : String) : String?
end
link = cmd_content
+
+ if command["emoji"]?
+ if emoji_image = command.dig?("emoji", "image")
+ thumbnails = emoji_image["thumbnails"]?.try &.as_a?
+ if thumbnails && (emoji_thumb = thumbnails.first?) && (thumb_url = emoji_thumb["url"]?.try &.as_s?)
+ raw_label = emoji_image.dig?("accessibility", "accessibilityData", "label").try &.as_s?
+ emoji_alt = raw_label ? HTML.escape(raw_label) : cmd_content
+
+ link = String.build do |s|
+ s << %(
)
+ end
+ end
+ else
+ link = "" if link.starts_with?(':') && link.ends_with?(':')
+ end
+ end
+
if on_tap = command.dig?("onTap", "innertubeCommand")
- link = parse_link_endpoint(on_tap, cmd_content, video_id)
+ link = parse_link_endpoint(on_tap, link, video_id)
end
str << link
index += cmd_length