diff --git a/src/invidious/comments/content.cr b/src/invidious/comments/content.cr index 1f55bfe65..4bb63e94f 100644 --- a/src/invidious/comments/content.cr +++ b/src/invidious/comments/content.cr @@ -51,7 +51,7 @@ def content_to_comment_html(content, video_id : String? = "") # See: https://github.com/iv-org/invidious/issues/3096 next if run.as_h.empty? - text = HTML.escape(run["text"].as_s) + text = HTML.escape(run["text"]?.try &.as_s || "") if navigation_endpoint = run.dig?("navigationEndpoint") text = parse_link_endpoint(navigation_endpoint, text, video_id) @@ -66,14 +66,17 @@ def content_to_comment_html(content, video_id : String? = "") if run["emoji"]["isCustomEmoji"]?.try &.as_bool if emoji_image = run.dig?("emoji", "image") emoji_alt = emoji_image.dig?("accessibility", "accessibilityData", "label").try &.as_s || text - emoji_thumb = emoji_image["thumbnails"][0] - text = String.build do |str| - str << %() << emoji_alt << ) + if emoji_thumb = emoji_image.dig?("thumbnails", 0) + text = String.build do |str| + str << %() << emoji_alt << ) + end + else + text = emoji_alt end else # Hide deleted channel emoji