From 2976acc480477b738953478bf9ff336ad70797c9 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 1 Jan 2026 18:45:09 +0000 Subject: [PATCH] Fix case-insensitive lookup for data package index file Co-authored-by: Tyrrrz <1935960+Tyrrrz@users.noreply.github.com> --- DiscordChatExporter.Cli.Tests/Utils/TempDir.cs | 2 +- DiscordChatExporter.Cli.Tests/Utils/TempFile.cs | 2 +- DiscordChatExporter.Core/Discord/Dump/DataDump.cs | 8 +++++++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/DiscordChatExporter.Cli.Tests/Utils/TempDir.cs b/DiscordChatExporter.Cli.Tests/Utils/TempDir.cs index 4cae7ff0..e907755d 100644 --- a/DiscordChatExporter.Cli.Tests/Utils/TempDir.cs +++ b/DiscordChatExporter.Cli.Tests/Utils/TempDir.cs @@ -24,7 +24,7 @@ internal partial class TempDir { var dirPath = System.IO.Path.Combine( System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) - ?? Directory.GetCurrentDirectory(), + ?? Directory.GetCurrentDirectory(), "Temp", Guid.NewGuid().ToString() ); diff --git a/DiscordChatExporter.Cli.Tests/Utils/TempFile.cs b/DiscordChatExporter.Cli.Tests/Utils/TempFile.cs index 1c6e79b3..0a686a65 100644 --- a/DiscordChatExporter.Cli.Tests/Utils/TempFile.cs +++ b/DiscordChatExporter.Cli.Tests/Utils/TempFile.cs @@ -24,7 +24,7 @@ internal partial class TempFile { var dirPath = System.IO.Path.Combine( System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) - ?? Directory.GetCurrentDirectory(), + ?? Directory.GetCurrentDirectory(), "Temp" ); diff --git a/DiscordChatExporter.Core/Discord/Dump/DataDump.cs b/DiscordChatExporter.Core/Discord/Dump/DataDump.cs index be3deb1c..32dae081 100644 --- a/DiscordChatExporter.Core/Discord/Dump/DataDump.cs +++ b/DiscordChatExporter.Core/Discord/Dump/DataDump.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.IO.Compression; +using System.Linq; using System.Text.Json; using System.Threading; using System.Threading.Tasks; @@ -42,7 +43,12 @@ public partial class DataDump { using var archive = ZipFile.OpenRead(zipFilePath); - var entry = archive.GetEntry("messages/index.json"); + // Try to find the index file with case-insensitive search + // Discord changed the structure from "messages/index.json" to "Messages/index.json" + var entry = archive.Entries.FirstOrDefault(e => + e.FullName.Equals("messages/index.json", StringComparison.OrdinalIgnoreCase) + ); + if (entry is null) { throw new InvalidOperationException(