From 33a975b9075980d03430a65ab26571ce64d58f6d Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Thu, 1 Jan 2026 21:19:59 +0200 Subject: [PATCH] Fix case-insensitive lookup for data package index file (#1460) Co-authored-by: Tyrrrz <1935960+Tyrrrz@users.noreply.github.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> --- .gitignore | 2 +- DiscordChatExporter.Core/Discord/Dump/DataDump.cs | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index ef8150c0..20d4f315 100644 --- a/.gitignore +++ b/.gitignore @@ -9,4 +9,4 @@ bin/ obj/ # Test results -TestResults/ \ No newline at end of file +TestResults/ diff --git a/DiscordChatExporter.Core/Discord/Dump/DataDump.cs b/DiscordChatExporter.Core/Discord/Dump/DataDump.cs index be3deb1c..10a4832c 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,13 @@ 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" + // https://github.com/Tyrrrz/DiscordChatExporter/issues/1458 + var entry = archive.Entries.FirstOrDefault(e => + e.FullName.Equals("messages/index.json", StringComparison.OrdinalIgnoreCase) + ); + if (entry is null) { throw new InvalidOperationException(