fix(web): пинг участника показывается только при наведении

Постоянная подпись в плитке занимала место и была не нужна: задержка теперь
живёт в подсказке индикатора связи («Отличное соединение, 46 мс — задержка до
голосового сервера»), а плитка осталась компактной. Тесты и e2e проверяют
`title`/`aria-label` индикатора вместо видимого текста.
This commit is contained in:
2026-09-20 22:30:24 +03:00
parent 96acc40031
commit cc16c18b13
6 changed files with 29 additions and 50 deletions
+7 -7
View File
@@ -340,14 +340,14 @@ test.describe('голос: два клиента в одной комнате',
await expect(session.page.getByTestId(`voice-tile-${fixture.guestId}`)).toBeVisible();
}
// Пинг участника виден в плитке и обновляется: своё значение измеряется
// по статистике WebRTC, чужое приходит по data-каналу LiveKit.
// Пинг участника показывается при наведении на индикатор связи: своё
// значение измеряется по статистике WebRTC, чужое приходит по data-каналу.
for (const session of [adminSession, guestSession]) {
const ownLabel = session.page
const ownQuality = session.page
.getByTestId(`voice-tile-${session === adminSession ? fixture.adminId : fixture.guestId}`)
.getByTestId('voice-quality-label');
.getByTestId('voice-quality');
await expect
.poll(async () => (await ownLabel.textContent()) ?? '', { timeout: 30_000 })
.poll(async () => (await ownQuality.getAttribute('title')) ?? '', { timeout: 30_000 })
.toMatch(/\d+ мс/u);
}
// Каждый видит пинг другого участника.
@@ -356,8 +356,8 @@ test.describe('голос: два клиента в одной комнате',
async () =>
(await adminSession.page
.getByTestId(`voice-tile-${fixture.guestId}`)
.getByTestId('voice-quality-label')
.textContent()) ?? '',
.getByTestId('voice-quality')
.getAttribute('title')) ?? '',
{ timeout: 30_000 },
)
.toMatch(/\d+ мс/u);