Files
meeting-assistant/MeetingAssistant/MacOs/MacOsMeetingInactivityPromptService.cs
T
dh 728e66dd72
PR and Push Build/Test / windows-build-and-test (push) Failing after 38m25s
PR and Push Build/Test / portable-build-and-test (push) Successful in 8m9s
PR and Push Build/Test / macos-native-full (push) Skipped
ci: consolidate platform pipelines and test prerequisites on macOS support
2026-10-06 09:02:19 +02:00

31 lines
1.2 KiB
C#

using MeetingAssistant.Notifications;
using MeetingAssistant.Recording;
namespace MeetingAssistant.MacOs;
public sealed class MacOsMeetingInactivityPromptService(DesktopUserRequestStore requests) : IMeetingInactivityPromptService
{
private const string Kind = "meeting-inactivity";
public Task ShowStopPromptAsync(MeetingInactivityPromptRequest request,
Func<MeetingInactivityPromptResponse, CancellationToken, Task> handleResponseAsync,
CancellationToken cancellationToken)
{
requests.Add(new DesktopUserRequestSpec(
Kind, "Stop meeting?",
$"No transcript text has arrived for {request.InactivityDuration.TotalMinutes:0.#} minutes.",
TimeSpan.FromMinutes(1),
[new("stop", "Stop"), new("continue", "Continue"), new("pause", "Pause transcription")]),
cancellationToken,
(action, token) => handleResponseAsync(MeetingInactivityPromptActions.ParseResponse(action), token));
return Task.CompletedTask;
}
public Task DismissAllAsync(CancellationToken cancellationToken)
{
cancellationToken.ThrowIfCancellationRequested();
requests.DismissKind(Kind);
return Task.CompletedTask;
}
}