feat(screenshare): integrate desktop audio exclusion

This commit is contained in:
2026-08-21 22:12:48 -04:00
parent ba96e59db0
commit 2c2b861516
7 changed files with 848 additions and 137 deletions
+6 -5
View File
@@ -22,6 +22,7 @@ use std::time::Duration;
use peerspeak::core::CoreController;
use peerspeak::core::messages::{CoreCommand, UiEvent};
use peerspeak::screenshare::ShareAudioSelection;
const EVENT_TIMEOUT: Duration = Duration::from_secs(20);
/// How long to listen for events that must NOT arrive. Comfortably past the
@@ -117,7 +118,7 @@ async fn a_dead_host_is_torn_down_and_a_clean_stop_stays_clean() {
// ── Half 1: the host dies mid-share ─────────────────────────────────────
assert!(controller.send(CoreCommand::StartScreenShare {
audio_app: None,
audio: ShareAudioSelection::DesktopShared,
settings: Default::default(),
quality: Default::default(),
}));
@@ -159,7 +160,7 @@ async fn a_dead_host_is_torn_down_and_a_clean_stop_stays_clean() {
living_host.to_string_lossy().into_owned()
))));
assert!(controller.send(CoreCommand::StartScreenShare {
audio_app: None,
audio: ShareAudioSelection::DesktopShared,
settings: Default::default(),
quality: Default::default(),
}));
@@ -211,7 +212,7 @@ async fn a_dead_host_is_torn_down_and_a_clean_stop_stays_clean() {
// killed host's EOF passes the staleness gate and a spurious "ended
// unexpectedly" lands on top of the ticket error (Gemini review, P2-1).
assert!(controller.send(CoreCommand::StartScreenShare {
audio_app: None,
audio: ShareAudioSelection::DesktopShared,
settings: Default::default(),
quality: Default::default(),
}));
@@ -361,7 +362,7 @@ async fn a_host_fault_pulls_the_ticket_off_presence_within_the_grace() {
.await;
assert!(controller.send(CoreCommand::StartScreenShare {
audio_app: None,
audio: ShareAudioSelection::DesktopShared,
settings: Default::default(),
quality: Default::default(),
}));
@@ -534,7 +535,7 @@ async fn stop_share_ends_the_real_host_via_sigint_within_the_grace() {
// after its ticket (capture starts on first viewer) — exactly the state a
// Stop Share most often hits.
assert!(controller.send(CoreCommand::StartScreenShare {
audio_app: None,
audio: ShareAudioSelection::DesktopShared,
settings: Default::default(),
quality: Default::default(),
}));