Merge remote-tracking branch 'origin/main' into renovate/naudio-2.x

# Conflicts:
#	MeetingAssistant/MeetingAssistant.csproj
This commit is contained in:
2026-09-17 13:26:04 +02:00
7 changed files with 76 additions and 19 deletions
+2 -2
View File
@@ -26,10 +26,10 @@
<PackageReference Include="Microsoft.CognitiveServices.Speech.Extension.MAS" Version="$(MicrosoftSpeechVersion)" ExcludeAssets="build" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="10.0.11" />
<PackageReference Include="NAudio" Version="2.4.0" />
<PackageReference Include="NCalcSync" Version="7.1.0" />
<PackageReference Include="NCalcSync" Version="7.2.0" />
<PackageReference Include="RazorLight" Version="2.3.1" />
<PackageReference Include="SQLitePCLRaw.bundle_e_sqlite3" Version="3.0.5" />
<PackageReference Include="System.Drawing.Common" Version="10.0.11" />
<PackageReference Include="System.Drawing.Common" Version="10.0.12" />
<PackageReference Include="Whisper.net" Version="1.9.1" />
<PackageReference Include="Whisper.net.Runtime" Version="1.9.1" />
<PackageReference Include="YamlDotNet" Version="18.1.0" />
@@ -805,7 +805,9 @@ public sealed class MeetingRecordingCoordinator
run.RecordTranscriptActivity(segment, inactivityClock.Now);
if (!string.IsNullOrWhiteSpace(segment.Text))
{
await DismissInactivityPromptsForRunAsync(run, cancellationToken);
// Switching profiles holds the coordinator gate while draining this reader.
// Notification cleanup must not make transcript draining wait for that gate.
_ = DismissInactivityPromptsForRunAsync(run, run.CaptureCancellation);
}
}
}
@@ -814,19 +816,26 @@ public sealed class MeetingRecordingCoordinator
RecordingRun run,
CancellationToken cancellationToken)
{
await gate.WaitAsync(cancellationToken);
try
{
if (!ReferenceEquals(currentRun, run) || run.IsCaptureStopping)
await gate.WaitAsync(cancellationToken);
try
{
return;
}
if (!ReferenceEquals(currentRun, run) || run.IsCaptureStopping)
{
return;
}
await DismissInactivityPromptsAsync(cancellationToken);
await DismissInactivityPromptsAsync(cancellationToken);
}
finally
{
gate.Release();
}
}
finally
catch (OperationCanceledException) when (cancellationToken.IsCancellationRequested)
{
gate.Release();
// Pending cleanup is no longer needed after this run stops capturing.
}
}