fix(topbar): announce the output stage when recording starts or stops
Starting a local recording left the idle 'Start Recording' chip on screen and never revealed 'Stop Recording' — IsRecording raised its own notifications but not the output stage's, so the visibility bindings were never re-evaluated. The visible chip's command then correctly refused to run (recording was already in progress), which is the worst shape of bug: a dead button that looks live. IsRecording and StreamStatus now call RaiseOutputStage(). The regression test asserts the NOTIFICATIONS, not the property values — reading ShowEndRecordingAction directly passes either way, which is exactly how this slipped through. 682 pass, 0 warnings.
This commit is contained in:
@@ -87,6 +87,7 @@ public partial class MainViewModel : ViewModelBase
|
|||||||
OnPropertyChanged(nameof(ShowChatInactiveMessage));
|
OnPropertyChanged(nameof(ShowChatInactiveMessage));
|
||||||
OnPropertyChanged(nameof(ShowPreviewPlaceholder));
|
OnPropertyChanged(nameof(ShowPreviewPlaceholder));
|
||||||
RaiseTopBarModes();
|
RaiseTopBarModes();
|
||||||
|
RaiseOutputStage(); // IsLive drives ShowOutputStage
|
||||||
UpdateLiveVisuals();
|
UpdateLiveVisuals();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -170,6 +171,7 @@ public partial class MainViewModel : ViewModelBase
|
|||||||
OnPropertyChanged(nameof(EndButtonText));
|
OnPropertyChanged(nameof(EndButtonText));
|
||||||
OnPropertyChanged(nameof(ShowTestButton));
|
OnPropertyChanged(nameof(ShowTestButton));
|
||||||
RaiseTopBarModes();
|
RaiseTopBarModes();
|
||||||
|
RaiseOutputStage(); // Start Recording <-> Stop Recording, and the REC clock
|
||||||
UpdateSessionTimer();
|
UpdateSessionTimer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user