diff --git a/src/client/HostLobbyModal.ts b/src/client/HostLobbyModal.ts index 8b5e256e3..eedbf1849 100644 --- a/src/client/HostLobbyModal.ts +++ b/src/client/HostLobbyModal.ts @@ -18,6 +18,7 @@ import { ClientInfo, GameConfig, GameInfo, + GameInfoSchema, TeamCountConfig, } from "../core/Schemas"; import { generateID } from "../core/Util"; @@ -671,6 +672,7 @@ export class HostLobbyModal extends LitElement { }, }) .then((response) => response.json()) + .then(GameInfoSchema.parse) .then((data: GameInfo) => { console.log(`got game info response: ${JSON.stringify(data)}`); diff --git a/src/client/JoinPrivateLobbyModal.ts b/src/client/JoinPrivateLobbyModal.ts index 8efd71156..a4a4a0809 100644 --- a/src/client/JoinPrivateLobbyModal.ts +++ b/src/client/JoinPrivateLobbyModal.ts @@ -1,7 +1,7 @@ import { LitElement, html } from "lit"; import { customElement, query, state } from "lit/decorators.js"; import { translateText } from "../client/Utils"; -import { GameInfo } from "../core/Schemas"; +import { GameInfo, GameInfoSchema } from "../core/Schemas"; import { generateID } from "../core/Util"; import { WorkerApiArchivedGameLobbySchema, @@ -11,6 +11,7 @@ import { getServerConfigFromClient } from "../core/configuration/ConfigLoader"; import { JoinLobbyEvent } from "./Main"; import "./components/baseComponents/Button"; import "./components/baseComponents/Modal"; + @customElement("join-private-lobby-modal") export class JoinPrivateLobbyModal extends LitElement { @query("o-modal") private modalEl!: HTMLElement & { @@ -285,6 +286,7 @@ export class JoinPrivateLobbyModal extends LitElement { }, ) .then((response) => response.json()) + .then(GameInfoSchema.parse) .then((data: GameInfo) => { this.players = data.clients?.map((p) => p.username) ?? []; })