openvidu/openvidu-test-e2e
pabloFuente 86300ec00e openvidu-test-e2e: add connectionQualityLostMeetPublisherSubscriberNotLostTest
The same check as connectionQualityLostPublisherSubscriberNotLostTest,
but with the media OpenVidu Meet publishes. The Meet bundle currently
deployed runs its Room with adaptiveStream and dynacast, a 720p camera
and livekit-client's publish defaults (simulcast, DTX, RED, VP8). The
connection-quality tests turned simulcast, dynacast and adaptiveStream
off, so the camera was a single 640x480 layer.

connectionQualityTest() gets an overload with a videoOptimizations
flag: simulcast, dynacast and adaptiveStream enabled for both users,
with a 1280x720 camera published as three VP8 simulcast layers. The
existing 4-argument form passes false, so the other connection-quality
tests are unchanged. The body of the previous test moves to
lostPublisherDoesNotMakeSubscriberLost(videoOptimizations), which both
tests call.

With a simulcast camera the video track does not trigger the bug.
mediasoup zeroes the score of a silent Producer with several layers
within 1.5 s, and only the audio track keeps a frozen score. That also
makes the publisher LOST two server quality updates earlier than with a
single layer, so the subscriber's wrong LOST arrives 10 s after the
publisher's. The wait after the publisher is LOST therefore goes from
10 s to 15 s; with 10 s the check ran just as that LOST arrived.

Caveat: the publisher's livekit-client (>= 2.22) does its full
reconnect in that same update, 10 s after its first LOST. A server with
the bug therefore fails this test only while its quality update reaches
the subscriber before the publisher's Leave does. It won by 10-15 ms in
all 4 runs, but if it ever loses, a buggy server passes; a correct
server can never fail. The single-layer test has no such race.

Verified against the local Compose deployment:
- mediasoup, server image built before the openvidu-pro-livekit fix:
  the new test failed 4 of 4 times. RegularUser went EXCELLENT -> LOST
  through its audio consumer, while its video consumer read producer
  score 0 and stayed EXCELLENT.
- mediasoup with the fix, and pion: both tests pass.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-23 18:28:24 +02:00
..
docker OpenVidu v3 2024-07-02 19:19:05 +02:00
src openvidu-test-e2e: add connectionQualityLostMeetPublisherSubscriberNotLostTest 2026-09-23 18:28:24 +02:00
pom.xml openvidu-test-e2e: update livekit-server Java dependency from 0.10.1 to 0.15.1 2026-09-01 19:24:40 +02:00