review: just inline intent and skipLobby from urlParam

This commit is contained in:
Valere
2026-01-12 16:37:28 +01:00
parent 56beb59346
commit 534f934378
3 changed files with 13 additions and 9 deletions

View File

@@ -77,7 +77,8 @@ export const RoomPage: FC = () => {
scope,
devices,
calculateInitialMuteState(
urlParams,
urlParams.skipLobby,
urlParams.callIntent,
import.meta.env.VITE_PACKAGE,
window.location.hostname,
Config.get().trust_localhost_for_mute_state,

View File

@@ -24,7 +24,8 @@ test.each<{
"Should allow to unmute on start if not skipping lobby (callIntent: $callIntent, packageType: $packageType)",
({ callIntent, packageType }) => {
const { audioEnabled, videoEnabled } = calculateInitialMuteState(
{ skipLobby: false, callIntent },
false,
callIntent,
packageType,
);
expect(audioEnabled).toBe(true);
@@ -42,7 +43,8 @@ test.each<{
"Should always mute on start if skipping lobby on non embedded build (callIntent: $callIntent)",
({ callIntent }) => {
const { audioEnabled, videoEnabled } = calculateInitialMuteState(
{ skipLobby: true, callIntent },
true,
callIntent,
"full",
);
expect(audioEnabled).toBe(false);
@@ -60,7 +62,8 @@ test.each<{
"Can start unmuted if skipping lobby on embedded build (callIntent: $callIntent)",
({ callIntent }) => {
const { audioEnabled, videoEnabled } = calculateInitialMuteState(
{ skipLobby: true, callIntent },
true,
callIntent,
"embedded",
);
expect(audioEnabled).toBe(true);
@@ -85,7 +88,8 @@ test.each<{
"Should trust localhost domain when in dev mode isDevBuild($isDevBuild) host($currentHost)",
({ isDevBuild, currentHost, expectedEnabled }) => {
const { audioEnabled, videoEnabled } = calculateInitialMuteState(
{ skipLobby: true, callIntent: "video" },
true,
"video",
"full",
currentHost,
isDevBuild,

View File

@@ -6,8 +6,7 @@ Please see LICENSE in the repository root for full details.
*/
import { logger } from "matrix-js-sdk/lib/logger";
import { type UrlParams } from "../UrlParams.ts";
import { type RTCCallIntent } from "matrix-js-sdk/lib/matrixrtc";
/**
* Calculates the initial mute state for media devices based on configuration.
@@ -16,12 +15,12 @@ import { type UrlParams } from "../UrlParams.ts";
* This function encapsulates the logic to determine the appropriate initial state.
*/
export function calculateInitialMuteState(
urlParams: Pick<UrlParams, "skipLobby" | "callIntent">,
skipLobby: boolean,
callIntent: RTCCallIntent | undefined,
packageType: "full" | "embedded",
hostname: string | undefined = undefined,
trustLocalhost: boolean = false,
): { audioEnabled: boolean; videoEnabled: boolean } {
const { skipLobby, callIntent } = urlParams;
logger.debug(
`calculateInitialMuteState: skipLobby=${skipLobby}, callIntent=${callIntent}, hostname=${hostname}, trustLocalhost=${trustLocalhost}`,