diff options
author | metamuffin <metamuffin@disroot.org> | 2022-10-03 11:28:16 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2022-10-03 11:28:16 +0200 |
commit | 4e99a3325318c902cd78ea9f760f46d79acde5c0 (patch) | |
tree | cc2bc54f4a0eb27db2b5d38dfbb785c1e9b84bd6 /client-web/source/room.ts | |
parent | fa44b02da29a0bd1b60026d4f6ffd6c9748a09da (diff) | |
download | keks-meet-4e99a3325318c902cd78ea9f760f46d79acde5c0.tar keks-meet-4e99a3325318c902cd78ea9f760f46d79acde5c0.tar.bz2 keks-meet-4e99a3325318c902cd78ea9f760f46d79acde5c0.tar.zst |
riesencommit (part 1)
Diffstat (limited to 'client-web/source/room.ts')
-rw-r--r-- | client-web/source/room.ts | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/client-web/source/room.ts b/client-web/source/room.ts index a1a30b2..a685f1d 100644 --- a/client-web/source/room.ts +++ b/client-web/source/room.ts @@ -7,14 +7,12 @@ import { log } from "./logger.ts"; import { RemoteUser } from "./user/remote.ts"; -import { User } from "./user/mod.ts"; import { LocalUser } from "./user/local.ts"; import { ClientboundPacket, RelayMessage } from "../../common/packets.d.ts"; import { SignalingConnection } from "./protocol/mod.ts"; import { Chat } from "./chat.ts"; export class Room { - public users: Map<number, User> = new Map() public remote_users: Map<number, RemoteUser> = new Map() public local_user!: LocalUser public my_id!: number @@ -50,16 +48,13 @@ export class Room { log("ws", `<- [client leave]: `, packet); const p = packet.client_leave; log("*", `${p.id} left`); - this.users.get(p.id)!.leave() + this.remote_users.get(p.id)?.leave() } } relay_handler(sender_id: number, message: RelayMessage) { - const sender = this.users.get(sender_id) - log("ws", `<- [relay for ${sender?.display_name}]: `, message); - if (sender instanceof RemoteUser) { - sender.on_relay(message) - } else { - console.warn("we received a message for ourselves, the server might be broken"); - } + const sender = this.remote_users.get(sender_id) + if (!sender) return console.warn("sender invalid, somebody is not in sync"); + log("ws", `<- [relay from ${sender.display_name}]: `, message); + sender.on_relay(message) } }
\ No newline at end of file |