summaryrefslogtreecommitdiff
path: root/client-web/source/room.ts
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2022-09-09 11:42:06 +0200
committermetamuffin <metamuffin@disroot.org>2022-09-09 11:42:06 +0200
commitb6d93e0f322901dfc1fee23f3d396a68e61e1b29 (patch)
tree01ba855cf41fb53f84cd6eb504c4f4ba0134fdfa /client-web/source/room.ts
parentafed94bb4609bd796102c9184f13fa29c5f92a48 (diff)
downloadkeks-meet-b6d93e0f322901dfc1fee23f3d396a68e61e1b29.tar
keks-meet-b6d93e0f322901dfc1fee23f3d396a68e61e1b29.tar.bz2
keks-meet-b6d93e0f322901dfc1fee23f3d396a68e61e1b29.tar.zst
crypto stuff
Diffstat (limited to 'client-web/source/room.ts')
-rw-r--r--client-web/source/room.ts36
1 files changed, 8 insertions, 28 deletions
diff --git a/client-web/source/room.ts b/client-web/source/room.ts
index 78454bb..6c9a7ba 100644
--- a/client-web/source/room.ts
+++ b/client-web/source/room.ts
@@ -5,43 +5,23 @@ import { RemoteUser } from "./remote_user.ts";
import { User } from "./user.ts";
import { LocalUser } from "./local_user.ts";
import { ServerboundPacket, ClientboundPacket } from "../../common/packets.d.ts";
-import { PREFS } from "./preferences.ts";
-import { ep } from "./helper.ts";
+import { SignalingConnection } from "./protocol/mod.ts";
export class Room {
el: HTMLElement
- name: string
users: Map<number, User> = new Map()
remote_users: Map<number, RemoteUser> = new Map()
local_user!: LocalUser
my_id!: number
- websocket: WebSocket
- constructor(name: string) {
- this.name = name
+ constructor(public signaling: SignalingConnection) {
this.el = document.createElement("div")
this.el.classList.add("room")
-
- const ws_url = new URL(`${window.location.protocol.endsWith("s:") ? "wss" : "ws"}://${window.location.host}/${encodeURIComponent(name)}/signaling`)
- ws_url.searchParams.set("username", PREFS.username)
- this.websocket = new WebSocket(ws_url)
- this.websocket.onclose = () => this.websocket_close()
-
- // const connecting_text = ep("Upgrading to a websocket connection…")
- // this.el.append(connecting_text)
-
- this.websocket.onopen = () => {
- // connecting_text.remove()
- this.websocket_open()
- }
- this.websocket.onmessage = (ev) => {
- this.websocket_message(JSON.parse(ev.data))
- }
}
websocket_send(data: ServerboundPacket) {
log("ws", `-> ${data.relay?.recipient ?? "*"}`, data)
- this.websocket.send(JSON.stringify(data))
+ // this.websocket.send(JSON.stringify(data))
}
websocket_message(packet: ClientboundPacket) {
log("ws", `<- ${packet.message?.sender ?? "control packet"}: `, packet);
@@ -51,7 +31,7 @@ export class Room {
log("*", `server: ${packet.init.version}`)
} else if (packet.client_join) {
const p = packet.client_join
- log("*", `${this.name} ${p.id} joined`);
+ log("*", `${p.id} joined`);
if (p.id == this.my_id) {
this.local_user = new LocalUser(this, p.id, p.name);
} else {
@@ -63,7 +43,7 @@ export class Room {
}
} else if (packet.client_leave) {
const p = packet.client_leave;
- log("*", `${this.name} ${p.id} left`);
+ log("*", `${p.id} left`);
this.remote_users.get(p.id)!.leave()
this.users.delete(p.id)
this.remote_users.delete(p.id)
@@ -72,9 +52,9 @@ export class Room {
const p = packet.message;
const sender = this.users.get(p.sender)
if (sender instanceof RemoteUser) {
- if (p.message.ice_candidate) sender.add_ice_candidate(p.message.ice_candidate)
- if (p.message.offer) sender.on_offer(p.message.offer)
- if (p.message.answer) sender.on_answer(p.message.answer)
+ // if (p.message.ice_candidate) sender.add_ice_candidate(p.message.ice_candidate)
+ // if (p.message.offer) sender.on_offer(p.message.offer)
+ // if (p.message.answer) sender.on_answer(p.message.answer)
} else {
console.log("!", p, sender);
}