Ignore URL params where they are not applicable for the mode (widget vs SPA) (#2882)
This commit is contained in:
@@ -100,4 +100,95 @@ describe("UrlParams", () => {
|
|||||||
expect(getUrlParams("?preload=true&widgetId=12345").preload).toBe(true);
|
expect(getUrlParams("?preload=true&widgetId=12345").preload).toBe(true);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe("returnToLobby", () => {
|
||||||
|
it("is true in SPA mode", () => {
|
||||||
|
expect(getUrlParams("?returnToLobby=false").returnToLobby).toBe(true);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("defaults to false in widget mode", () => {
|
||||||
|
expect(
|
||||||
|
getUrlParams("?widgetId=12345&parentUrl=https%3A%2F%2Flocalhost%2Ffoo")
|
||||||
|
.returnToLobby,
|
||||||
|
).toBe(false);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("respected in widget mode", () => {
|
||||||
|
expect(
|
||||||
|
getUrlParams(
|
||||||
|
"?returnToLobby=true&widgetId=12345&parentUrl=https%3A%2F%2Flocalhost%2Ffoo",
|
||||||
|
).returnToLobby,
|
||||||
|
).toBe(true);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe("userId", () => {
|
||||||
|
it("is ignored in SPA mode", () => {
|
||||||
|
expect(getUrlParams("?userId=asd").userId).toBe(null);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("is parsed in widget mode", () => {
|
||||||
|
expect(
|
||||||
|
getUrlParams(
|
||||||
|
"?userId=asd&widgetId=12345&parentUrl=https%3A%2F%2Flocalhost%2Ffoo",
|
||||||
|
).userId,
|
||||||
|
).toBe("asd");
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe("deviceId", () => {
|
||||||
|
it("is ignored in SPA mode", () => {
|
||||||
|
expect(getUrlParams("?deviceId=asd").deviceId).toBe(null);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("is parsed in widget mode", () => {
|
||||||
|
expect(
|
||||||
|
getUrlParams(
|
||||||
|
"?deviceId=asd&widgetId=12345&parentUrl=https%3A%2F%2Flocalhost%2Ffoo",
|
||||||
|
).deviceId,
|
||||||
|
).toBe("asd");
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe("baseUrl", () => {
|
||||||
|
it("is ignored in SPA mode", () => {
|
||||||
|
expect(getUrlParams("?baseUrl=asd").baseUrl).toBe(null);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("is parsed in widget mode", () => {
|
||||||
|
expect(
|
||||||
|
getUrlParams(
|
||||||
|
"?baseUrl=asd&widgetId=12345&parentUrl=https%3A%2F%2Flocalhost%2Ffoo",
|
||||||
|
).baseUrl,
|
||||||
|
).toBe("asd");
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe("viaServers", () => {
|
||||||
|
it("is ignored in widget mode", () => {
|
||||||
|
expect(
|
||||||
|
getUrlParams(
|
||||||
|
"?viaServers=asd&widgetId=12345&parentUrl=https%3A%2F%2Flocalhost%2Ffoo",
|
||||||
|
).viaServers,
|
||||||
|
).toBe(null);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("is parsed in SPA mode", () => {
|
||||||
|
expect(getUrlParams("?viaServers=asd").viaServers).toBe("asd");
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe("homeserver", () => {
|
||||||
|
it("is ignored in widget mode", () => {
|
||||||
|
expect(
|
||||||
|
getUrlParams(
|
||||||
|
"?homeserver=asd&widgetId=12345&parentUrl=https%3A%2F%2Flocalhost%2Ffoo",
|
||||||
|
).homeserver,
|
||||||
|
).toBe(null);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("is parsed in SPA mode", () => {
|
||||||
|
expect(getUrlParams("?homeserver=asd").homeserver).toBe("asd");
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -232,10 +232,10 @@ export const getUrlParams = (
|
|||||||
showControls: parser.getFlagParam("showControls", true),
|
showControls: parser.getFlagParam("showControls", true),
|
||||||
hideScreensharing: parser.getFlagParam("hideScreensharing"),
|
hideScreensharing: parser.getFlagParam("hideScreensharing"),
|
||||||
e2eEnabled: parser.getFlagParam("enableE2EE", true),
|
e2eEnabled: parser.getFlagParam("enableE2EE", true),
|
||||||
userId: parser.getParam("userId"),
|
userId: isWidget ? parser.getParam("userId") : null,
|
||||||
displayName: parser.getParam("displayName"),
|
displayName: parser.getParam("displayName"),
|
||||||
deviceId: parser.getParam("deviceId"),
|
deviceId: isWidget ? parser.getParam("deviceId") : null,
|
||||||
baseUrl: parser.getParam("baseUrl"),
|
baseUrl: isWidget ? parser.getParam("baseUrl") : null,
|
||||||
lang: parser.getParam("lang"),
|
lang: parser.getParam("lang"),
|
||||||
fonts: parser.getAllParams("font"),
|
fonts: parser.getAllParams("font"),
|
||||||
fontScale: Number.isNaN(fontScale) ? null : fontScale,
|
fontScale: Number.isNaN(fontScale) ? null : fontScale,
|
||||||
@@ -243,10 +243,10 @@ export const getUrlParams = (
|
|||||||
allowIceFallback: parser.getFlagParam("allowIceFallback"),
|
allowIceFallback: parser.getFlagParam("allowIceFallback"),
|
||||||
perParticipantE2EE: parser.getFlagParam("perParticipantE2EE"),
|
perParticipantE2EE: parser.getFlagParam("perParticipantE2EE"),
|
||||||
skipLobby: parser.getFlagParam("skipLobby"),
|
skipLobby: parser.getFlagParam("skipLobby"),
|
||||||
returnToLobby: parser.getFlagParam("returnToLobby"),
|
returnToLobby: isWidget ? parser.getFlagParam("returnToLobby") : true,
|
||||||
theme: parser.getParam("theme"),
|
theme: parser.getParam("theme"),
|
||||||
viaServers: parser.getParam("viaServers"),
|
viaServers: !isWidget ? parser.getParam("viaServers") : null,
|
||||||
homeserver: parser.getParam("homeserver"),
|
homeserver: !isWidget ? parser.getParam("homeserver") : null,
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user