switch to v2/calling/relays endpoint

This commit is contained in:
adel-signal 2024-10-28 09:37:16 -07:00 committed by GitHub
parent 40ac288a3a
commit 251ffc289f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 19 additions and 35 deletions

View file

@ -88,10 +88,7 @@ import * as durations from '../util/durations';
import { clearTimeoutIfNecessary } from '../util/clearTimeoutIfNecessary'; import { clearTimeoutIfNecessary } from '../util/clearTimeoutIfNecessary';
import { fetchMembershipProof, getMembershipList } from '../groups'; import { fetchMembershipProof, getMembershipList } from '../groups';
import type { ProcessedEnvelope } from '../textsecure/Types.d'; import type { ProcessedEnvelope } from '../textsecure/Types.d';
import type { import type { GetIceServersResultType } from '../textsecure/WebAPI';
GetIceServersResultType,
IceServerGroupType,
} from '../textsecure/WebAPI';
import { missingCaseError } from '../util/missingCaseError'; import { missingCaseError } from '../util/missingCaseError';
import { normalizeGroupCallTimestamp } from '../util/ringrtc/normalizeGroupCallTimestamp'; import { normalizeGroupCallTimestamp } from '../util/ringrtc/normalizeGroupCallTimestamp';
import { import {
@ -3148,32 +3145,24 @@ export class CallingClass {
function iceServerConfigToList( function iceServerConfigToList(
iceServerConfig: GetIceServersResultType iceServerConfig: GetIceServersResultType
): Array<IceServer> { ): Array<IceServer> {
function mapConfig( if (!iceServerConfig.relays) {
iceServerGroup: GetIceServersResultType | IceServerGroupType return [];
): Array<IceServer> {
if (!iceServerGroup.username || !iceServerGroup.password) {
return [];
}
return [
{
hostname: iceServerGroup.hostname ?? '',
username: iceServerGroup.username,
password: iceServerGroup.password,
urls: (iceServerGroup.urlsWithIps ?? []).slice(),
},
{
hostname: '',
username: iceServerGroup.username,
password: iceServerGroup.password,
urls: (iceServerGroup.urls ?? []).slice(),
},
];
} }
return [iceServerConfig] return iceServerConfig.relays.flatMap(iceServerGroup => [
.concat(iceServerConfig.iceServers ?? []) {
.flatMap(mapConfig); hostname: iceServerGroup.hostname ?? '',
username: iceServerGroup.username,
password: iceServerGroup.password,
urls: (iceServerGroup.urlsWithIps ?? []).slice(),
},
{
hostname: '',
username: iceServerGroup.username,
password: iceServerGroup.password,
urls: (iceServerGroup.urls ?? []).slice(),
},
]);
} }
if (!window.textsecure.messaging) { if (!window.textsecure.messaging) {

View file

@ -626,7 +626,7 @@ const URL_CALLS = {
discovery: 'v1/discovery', discovery: 'v1/discovery',
getGroupAvatarUpload: 'v1/groups/avatar/form', getGroupAvatarUpload: 'v1/groups/avatar/form',
getGroupCredentials: 'v1/certificate/auth/group', getGroupCredentials: 'v1/certificate/auth/group',
getIceServers: 'v1/calling/relays', getIceServers: 'v2/calling/relays',
getOnboardingStoryManifest: getOnboardingStoryManifest:
'dynamic/desktop/stories/onboarding/manifest.json', 'dynamic/desktop/stories/onboarding/manifest.json',
getStickerPackUpload: 'v1/sticker/pack/form', getStickerPackUpload: 'v1/sticker/pack/form',
@ -902,12 +902,7 @@ export type GetAccountForUsernameResultType = z.infer<
>; >;
export type GetIceServersResultType = Readonly<{ export type GetIceServersResultType = Readonly<{
username?: string; relays?: ReadonlyArray<IceServerGroupType>;
password?: string;
urls?: ReadonlyArray<string>;
urlsWithIps?: ReadonlyArray<string>;
hostname?: string;
iceServers?: ReadonlyArray<IceServerGroupType>;
}>; }>;
export type IceServerGroupType = Readonly<{ export type IceServerGroupType = Readonly<{