From 21c2398e2a58dc6db9087e9bcdbe9dc74273c329 Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Fri, 27 Feb 2026 14:42:07 +0200 Subject: [PATCH] Cleanup: fix filename typo, replace AsyncNonKeyedLocker, drop WithIndex(), use ProcessStartInfo ctor arg (#1492) Co-authored-by: Tyrrrz <1935960+Tyrrrz@users.noreply.github.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> --- .../Exporting/MessageGroupTemplate.cshtml | 2 +- .../Exporting/PlainTextMessageWriter.cs | 2 +- .../Utils/Extensions/CollectionExtensions.cs | 10 ---------- DiscordChatExporter.Gui/Framework/DialogManager.cs | 11 ++++++++--- ...{DialogVIewModelBase.cs => DialogViewModelBase.cs} | 0 .../Utils/Extensions/ProcessExtensions.cs | 2 +- 6 files changed, 11 insertions(+), 16 deletions(-) rename DiscordChatExporter.Gui/Framework/{DialogVIewModelBase.cs => DialogViewModelBase.cs} (100%) diff --git a/DiscordChatExporter.Core/Exporting/MessageGroupTemplate.cshtml b/DiscordChatExporter.Core/Exporting/MessageGroupTemplate.cshtml index 641c2ada..556f9210 100644 --- a/DiscordChatExporter.Core/Exporting/MessageGroupTemplate.cshtml +++ b/DiscordChatExporter.Core/Exporting/MessageGroupTemplate.cshtml @@ -34,7 +34,7 @@ }
-@foreach (var (message, i) in Messages.WithIndex()) +@foreach (var (i, message) in Messages.Index()) { var isFirst = i == 0; diff --git a/DiscordChatExporter.Core/Exporting/PlainTextMessageWriter.cs b/DiscordChatExporter.Core/Exporting/PlainTextMessageWriter.cs index 85b46a64..01e985a9 100644 --- a/DiscordChatExporter.Core/Exporting/PlainTextMessageWriter.cs +++ b/DiscordChatExporter.Core/Exporting/PlainTextMessageWriter.cs @@ -173,7 +173,7 @@ internal class PlainTextMessageWriter(Stream stream, ExportContext context) await _writer.WriteLineAsync("{Reactions}"); - foreach (var (reaction, i) in reactions.WithIndex()) + foreach (var (i, reaction) in reactions.Index()) { cancellationToken.ThrowIfCancellationRequested(); diff --git a/DiscordChatExporter.Core/Utils/Extensions/CollectionExtensions.cs b/DiscordChatExporter.Core/Utils/Extensions/CollectionExtensions.cs index 99ee2766..03e34721 100644 --- a/DiscordChatExporter.Core/Utils/Extensions/CollectionExtensions.cs +++ b/DiscordChatExporter.Core/Utils/Extensions/CollectionExtensions.cs @@ -12,16 +12,6 @@ public static class CollectionExtensions } } - extension(IEnumerable source) - { - public IEnumerable<(T value, int index)> WithIndex() - { - var i = 0; - foreach (var o in source) - yield return (o, i++); - } - } - extension(IEnumerable source) where T : class { diff --git a/DiscordChatExporter.Gui/Framework/DialogManager.cs b/DiscordChatExporter.Gui/Framework/DialogManager.cs index 68d49435..65666cea 100644 --- a/DiscordChatExporter.Gui/Framework/DialogManager.cs +++ b/DiscordChatExporter.Gui/Framework/DialogManager.cs @@ -2,8 +2,8 @@ using System.Collections.Generic; using System.IO; using System.Linq; +using System.Threading; using System.Threading.Tasks; -using AsyncKeyedLock; using Avalonia; using Avalonia.Platform.Storage; using DialogHostAvalonia; @@ -13,11 +13,12 @@ namespace DiscordChatExporter.Gui.Framework; public class DialogManager : IDisposable { - private readonly AsyncNonKeyedLocker _dialogLock = new(); + private readonly SemaphoreSlim _dialogLock = new(1, 1); public async Task ShowDialogAsync(DialogViewModelBase dialog) { - using (await _dialogLock.LockAsync()) + await _dialogLock.WaitAsync(); + try { await DialogHost.Show( dialog, @@ -44,6 +45,10 @@ public class DialogManager : IDisposable return dialog.DialogResult; } + finally + { + _dialogLock.Release(); + } } public async Task PromptSaveFilePathAsync( diff --git a/DiscordChatExporter.Gui/Framework/DialogVIewModelBase.cs b/DiscordChatExporter.Gui/Framework/DialogViewModelBase.cs similarity index 100% rename from DiscordChatExporter.Gui/Framework/DialogVIewModelBase.cs rename to DiscordChatExporter.Gui/Framework/DialogViewModelBase.cs diff --git a/DiscordChatExporter.Gui/Utils/Extensions/ProcessExtensions.cs b/DiscordChatExporter.Gui/Utils/Extensions/ProcessExtensions.cs index 8c4915c9..07317d21 100644 --- a/DiscordChatExporter.Gui/Utils/Extensions/ProcessExtensions.cs +++ b/DiscordChatExporter.Gui/Utils/Extensions/ProcessExtensions.cs @@ -9,7 +9,7 @@ internal static class ProcessExtensions public static void StartShellExecute(string path) { using var process = new Process(); - process.StartInfo = new ProcessStartInfo { FileName = path, UseShellExecute = true }; + process.StartInfo = new ProcessStartInfo(path) { UseShellExecute = true }; process.Start(); }