From 2d16487ca1d54fe34b8a42024fd867bd876c4f77 Mon Sep 17 00:00:00 2001 From: Timo K Date: Tue, 21 Apr 2026 17:11:40 +0200 Subject: [PATCH 1/2] fix sticky send race --- playwright/spa-call-sticky.spec.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/playwright/spa-call-sticky.spec.ts b/playwright/spa-call-sticky.spec.ts index 246b4a73..33af94bf 100644 --- a/playwright/spa-call-sticky.spec.ts +++ b/playwright/spa-call-sticky.spec.ts @@ -28,7 +28,7 @@ async function setupTwoUserSpaCall( await page.goto("/"); let androlHasSentStickyEvent = false; - + const androlResolver = Promise.withResolvers(); await interceptEventSend( page, // This room is not encrypted, so the event is sent in clear @@ -36,6 +36,7 @@ async function setupTwoUserSpaCall( (req) => { androlHasSentStickyEvent = androlHasSentStickyEvent || isStickySend(req.url()); + androlResolver.resolve(); }, ); @@ -53,6 +54,7 @@ async function setupTwoUserSpaCall( let pevaraHasSentStickyEvent = false; + const paveraResolver = Promise.withResolvers(); await interceptEventSend( guestPage, // This room is not encrypted, so the event is sent in clear @@ -60,6 +62,7 @@ async function setupTwoUserSpaCall( (req) => { pevaraHasSentStickyEvent = pevaraHasSentStickyEvent || isStickySend(req.url()); + paveraResolver.resolve(); }, ); @@ -70,7 +73,9 @@ async function setupTwoUserSpaCall( "2_0", ); // Assert both sides have sent sticky membership events + await androlResolver.promise; expect(androlHasSentStickyEvent).toEqual(true); + await paveraResolver.promise; expect(pevaraHasSentStickyEvent).toEqual(true); return { guestPage }; From ea73e5881ae854427dce58d94fb1a5158fa7ffe1 Mon Sep 17 00:00:00 2001 From: Timo K Date: Tue, 21 Apr 2026 17:29:15 +0200 Subject: [PATCH 2/2] pevara --- playwright/spa-call-sticky.spec.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/playwright/spa-call-sticky.spec.ts b/playwright/spa-call-sticky.spec.ts index 33af94bf..328a65da 100644 --- a/playwright/spa-call-sticky.spec.ts +++ b/playwright/spa-call-sticky.spec.ts @@ -54,7 +54,7 @@ async function setupTwoUserSpaCall( let pevaraHasSentStickyEvent = false; - const paveraResolver = Promise.withResolvers(); + const pevaraResolver = Promise.withResolvers(); await interceptEventSend( guestPage, // This room is not encrypted, so the event is sent in clear @@ -62,7 +62,7 @@ async function setupTwoUserSpaCall( (req) => { pevaraHasSentStickyEvent = pevaraHasSentStickyEvent || isStickySend(req.url()); - paveraResolver.resolve(); + pevaraResolver.resolve(); }, ); @@ -75,7 +75,7 @@ async function setupTwoUserSpaCall( // Assert both sides have sent sticky membership events await androlResolver.promise; expect(androlHasSentStickyEvent).toEqual(true); - await paveraResolver.promise; + await pevaraResolver.promise; expect(pevaraHasSentStickyEvent).toEqual(true); return { guestPage };