diff options
| author | Christophe Besson <cbesson@gmail.com> | 2026-10-03 10:30:05 +0200 |
|---|---|---|
| committer | Christophe Besson <cbesson@gmail.com> | 2026-10-03 14:24:54 +0200 |
| commit | 8ae848e45609b348e2fdcfb896010c4e3d61c8b9 (patch) | |
| tree | 7511aeb9c8e4c52c0aaefb962c6beec8c066278d /packages/meshbay-hub/tests/test_cast_discovery.py | |
| parent | 025b0e0289b7884c4ead980d91b2e659632e1808 (diff) | |
| download | meshbay-8ae848e45609b348e2fdcfb896010c4e3d61c8b9.tar.gz | |
fix(client): the local player is silent while casting
It keeps playing to pace the relay, so it doubled the television's sound.
The viewer's mute setting comes back when the cast ends.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'packages/meshbay-hub/tests/test_cast_discovery.py')
| -rw-r--r-- | packages/meshbay-hub/tests/test_cast_discovery.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/packages/meshbay-hub/tests/test_cast_discovery.py b/packages/meshbay-hub/tests/test_cast_discovery.py index 9e9ce85..77b0ef6 100644 --- a/packages/meshbay-hub/tests/test_cast_discovery.py +++ b/packages/meshbay-hub/tests/test_cast_discovery.py @@ -106,3 +106,18 @@ def test_a_new_scan_is_not_cut_short_by_the_one_it_replaced(run): assert run["restartedStillScanning"] is True assert run["restartClearedOldDevices"] is True assert run["restartedEnds"] is True + + +def test_the_local_player_is_silent_while_casting(): + """The local element keeps playing while casting — its playhead paces the + stream the relay forwards — so it must not keep its sound: a phone in the + room doubled the television's audio, screen off included. Whatever the + viewer had set comes back when the cast ends.""" + from spa_source import STATIC + player = (STATIC / "video-player.js").read_text(encoding="utf-8") + effect = player.split("const mutedBeforeCastRef = useRef(null);", 1)[1] + effect = effect.split("}, [castActive]);", 1)[0] + assert "v.muted = true;" in effect + assert "mutedBeforeCastRef.current = v.muted;" in effect + assert "v.muted = mutedBeforeCastRef.current;" in effect + assert "pause()" not in effect, "pausing would stop the stream the receiver is playing" |