From 08b03cf27ea861eda3c32db218c11a0d524a8538 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 12 Feb 2026 12:24:25 +0000 Subject: [PATCH] Fix data-canonical-url and improve test specificity - Use canonical (non-proxy) URL for data-canonical-url attribute - Extract thumbnailUrl to local variable to avoid duplicate calls - Update test to check for img with video ID in src, avoiding false positives - Test now verifies the actual thumbnail data rather than any link Co-authored-by: Tyrrrz <1935960+Tyrrrz@users.noreply.github.com> --- .../Specs/HtmlEmbedSpecs.cs | 13 ++++++------- .../Exporting/MessageGroupTemplate.cshtml | 6 +++++- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/DiscordChatExporter.Cli.Tests/Specs/HtmlEmbedSpecs.cs b/DiscordChatExporter.Cli.Tests/Specs/HtmlEmbedSpecs.cs index 0a406a4b..a959d462 100644 --- a/DiscordChatExporter.Cli.Tests/Specs/HtmlEmbedSpecs.cs +++ b/DiscordChatExporter.Cli.Tests/Specs/HtmlEmbedSpecs.cs @@ -181,15 +181,14 @@ public class HtmlEmbedSpecs ); // Assert - var youtubeUrl = message - .QuerySelectorAll("a") - .Select(e => e.GetAttribute("href")) + // Check that the YouTube video thumbnail image exists with the correct video ID + var youtubeThumbnailSrc = message + .QuerySelectorAll("img") + .Select(e => e.GetAttribute("src")) .WhereNotNull() - .FirstOrDefault(s => - s.Contains("youtube.com/watch?v=qOWW4OlgbvE", StringComparison.Ordinal) - ); + .FirstOrDefault(s => s.Contains("qOWW4OlgbvE", StringComparison.Ordinal)); - youtubeUrl.Should().NotBeNull(); + youtubeThumbnailSrc.Should().NotBeNull(); } [Fact] diff --git a/DiscordChatExporter.Core/Exporting/MessageGroupTemplate.cshtml b/DiscordChatExporter.Core/Exporting/MessageGroupTemplate.cshtml index 4387a678..bfd3b6ba 100644 --- a/DiscordChatExporter.Core/Exporting/MessageGroupTemplate.cshtml +++ b/DiscordChatExporter.Core/Exporting/MessageGroupTemplate.cshtml @@ -427,7 +427,11 @@ @* Video thumbnail *@
- YouTube video thumbnail + @{ + var thumbnailUrl = youTubeVideoEmbed.GetThumbnailUrl(embed); + var thumbnailCanonicalUrl = embed.Thumbnail?.Url ?? youTubeVideoEmbed.ThumbnailUrl; + } + YouTube video thumbnail