Add a singleton ITroubleshootingPlaybackStatusStore (Core, alongside TroubleshootingNotifier) that records the exit code + speed of the most recent troubleshooting playback session. A new MediatR notification handler writes to it on PlaybackTroubleshootingCompletedNotification, and PrepareTroubleshootingPlaybackHandler resets it when a new session starts (both the channel and media-item lock paths). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
17 lines
652 B
C#
17 lines
652 B
C#
using ErsatzTV.Core.Troubleshooting;
|
|
|
|
namespace ErsatzTV.Core.Interfaces.Troubleshooting;
|
|
|
|
// Records the outcome of the most recent troubleshooting playback session so the SPA can poll
|
|
// for completion (the legacy Blazor page instead subscribed to an in-process notification). The
|
|
// store is reset when a new session starts (see PrepareTroubleshootingPlaybackHandler) and written
|
|
// by the PlaybackTroubleshootingCompletedNotification handler.
|
|
public interface ITroubleshootingPlaybackStatusStore
|
|
{
|
|
Option<TroubleshootingPlaybackResult> CurrentResult { get; }
|
|
|
|
void Reset();
|
|
|
|
void RecordCompletion(int exitCode, Option<double> speed);
|
|
}
|