The preload URL param shouldn't be used in SPA mode, so ignore it if not in widget (#2832)
* Refactor URL parameters into table This is for readability and ahead of some possible changes * Whitespace * Lint * The preload URL param shouldn't be used in SPA mode, so ignore it
This commit is contained in:
@@ -7,7 +7,7 @@ Please see LICENSE in the repository root for full details.
|
|||||||
|
|
||||||
import { describe, expect, it } from "vitest";
|
import { describe, expect, it } from "vitest";
|
||||||
|
|
||||||
import { getRoomIdentifierFromUrl } from "../src/UrlParams";
|
import { getRoomIdentifierFromUrl, getUrlParams } from "../src/UrlParams";
|
||||||
|
|
||||||
const ROOM_NAME = "roomNameHere";
|
const ROOM_NAME = "roomNameHere";
|
||||||
const ROOM_ID = "!d45f138fsd";
|
const ROOM_ID = "!d45f138fsd";
|
||||||
@@ -86,4 +86,18 @@ describe("UrlParams", () => {
|
|||||||
.roomAlias,
|
.roomAlias,
|
||||||
).toBeFalsy();
|
).toBeFalsy();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe("preload", () => {
|
||||||
|
it("defaults to false", () => {
|
||||||
|
expect(getUrlParams().preload).toBe(false);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("ignored in SPA mode", () => {
|
||||||
|
expect(getUrlParams("?preload=true").preload).toBe(false);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("respected in widget mode", () => {
|
||||||
|
expect(getUrlParams("?preload=true&widgetId=12345").preload).toBe(true);
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -211,8 +211,11 @@ export const getUrlParams = (
|
|||||||
|
|
||||||
const fontScale = parseFloat(parser.getParam("fontScale") ?? "");
|
const fontScale = parseFloat(parser.getParam("fontScale") ?? "");
|
||||||
|
|
||||||
|
const widgetId = parser.getParam("widgetId");
|
||||||
|
const isWidget = !!widgetId;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
widgetId: parser.getParam("widgetId"),
|
widgetId,
|
||||||
parentUrl: parser.getParam("parentUrl"),
|
parentUrl: parser.getParam("parentUrl"),
|
||||||
|
|
||||||
// NB. we don't validate roomId here as we do in getRoomIdentifierFromUrl:
|
// NB. we don't validate roomId here as we do in getRoomIdentifierFromUrl:
|
||||||
@@ -224,7 +227,7 @@ export const getUrlParams = (
|
|||||||
confineToRoom:
|
confineToRoom:
|
||||||
parser.getFlagParam("confineToRoom") || parser.getFlagParam("embed"),
|
parser.getFlagParam("confineToRoom") || parser.getFlagParam("embed"),
|
||||||
appPrompt: parser.getFlagParam("appPrompt", true),
|
appPrompt: parser.getFlagParam("appPrompt", true),
|
||||||
preload: parser.getFlagParam("preload"),
|
preload: isWidget ? parser.getFlagParam("preload") : false,
|
||||||
hideHeader: parser.getFlagParam("hideHeader"),
|
hideHeader: parser.getFlagParam("hideHeader"),
|
||||||
showControls: parser.getFlagParam("showControls", true),
|
showControls: parser.getFlagParam("showControls", true),
|
||||||
hideScreensharing: parser.getFlagParam("hideScreensharing"),
|
hideScreensharing: parser.getFlagParam("hideScreensharing"),
|
||||||
|
|||||||
Reference in New Issue
Block a user