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>
This commit is contained in:
Copilot
2026-02-27 14:42:07 +02:00
committed by GitHub
parent 7ff2347df1
commit 21c2398e2a
6 changed files with 11 additions and 16 deletions

View File

@@ -34,7 +34,7 @@
}
<div class="chatlog__message-group">
@foreach (var (message, i) in Messages.WithIndex())
@foreach (var (i, message) in Messages.Index())
{
var isFirst = i == 0;

View File

@@ -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();

View File

@@ -12,16 +12,6 @@ public static class CollectionExtensions
}
}
extension<T>(IEnumerable<T> source)
{
public IEnumerable<(T value, int index)> WithIndex()
{
var i = 0;
foreach (var o in source)
yield return (o, i++);
}
}
extension<T>(IEnumerable<T?> source)
where T : class
{

View File

@@ -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<T?> ShowDialogAsync<T>(DialogViewModelBase<T> 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<string?> PromptSaveFilePathAsync(

View File

@@ -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();
}