diff options
author | metamuffin <metamuffin@yandex.com> | 2022-01-23 14:06:14 +0100 |
---|---|---|
committer | metamuffin <metamuffin@yandex.com> | 2022-01-23 14:06:14 +0100 |
commit | a383c334a2e4ccb246a4a1092b1d053ccad19bd7 (patch) | |
tree | c747e39e25b94944da077df0a3ea20a2465540a8 /source/client | |
parent | 16fa95ac191287fe7f82b9f37c31342fe3b4b65a (diff) | |
download | keks-meet-a383c334a2e4ccb246a4a1092b1d053ccad19bd7.tar keks-meet-a383c334a2e4ccb246a4a1092b1d053ccad19bd7.tar.bz2 keks-meet-a383c334a2e4ccb246a4a1092b1d053ccad19bd7.tar.zst |
ported everything to deno! yay
Diffstat (limited to 'source/client')
-rw-r--r-- | source/client/helper.ts | 6 | ||||
-rw-r--r-- | source/client/index.ts | 15 | ||||
-rw-r--r-- | source/client/local_user.ts | 18 | ||||
-rw-r--r-- | source/client/logger.ts | 1 | ||||
-rw-r--r-- | source/client/remote_user.ts | 10 | ||||
-rw-r--r-- | source/client/rnnoise.ts | 11 | ||||
-rw-r--r-- | source/client/room.ts | 13 | ||||
-rw-r--r-- | source/client/types.ts | 16 | ||||
-rw-r--r-- | source/client/user.ts | 9 |
9 files changed, 44 insertions, 55 deletions
diff --git a/source/client/helper.ts b/source/client/helper.ts index 9fb4052..c46b169 100644 --- a/source/client/helper.ts +++ b/source/client/helper.ts @@ -1,4 +1,4 @@ -import { parameters } from "." +import { parameters } from "./index.ts" export function get_query_params(): { [key: string]: string } { const q: { [key: string]: string } = {} @@ -9,7 +9,7 @@ export function get_query_params(): { [key: string]: string } { return q } -export function hex_id(len: number = 8): string { +export function hex_id(len = 8): string { if (len > 8) return hex_id() + hex_id(len - 8) return Math.floor(Math.random() * 16 ** len).toString(16).padStart(len, "0") } @@ -21,7 +21,7 @@ export function parameter_bool(name: string, def: boolean): boolean { if (v == "0" || v == "false" || v == "no") return false if (v == "1" || v == "true" || v == "yes") return true alert(`parameter ${name} is invalid`) - return def + return def } export function parameter_number(name: string, def: number): number { diff --git a/source/client/index.ts b/source/client/index.ts index 313cd86..0c7e728 100644 --- a/source/client/index.ts +++ b/source/client/index.ts @@ -1,6 +1,8 @@ -import { get_query_params } from "./helper" -import { log } from "./logger" -import { Room } from "./room" +/// <reference lib="dom" /> + +import { get_query_params } from "./helper.ts" +import { log } from "./logger.ts" +import { Room } from "./room.ts" export const servers = { iceServers: [{ urls: ["stun:stun1.l.google.com:19302", "stun:stun2.l.google.com:19302"] }], @@ -13,14 +15,15 @@ export interface User { } -export var parameters = get_query_params() +export const parameters = get_query_params() window.onload = () => main() -export async function main() { +export function main() { + log("*", "starting up") if (window.location.pathname.startsWith("/room/")) { const room_name = window.location.pathname.substr("/room/".length) - let room = new Room(room_name) + const room = new Room(room_name) document.body.append(room.el) } else { document.body.append(create_start_screen()) diff --git a/source/client/local_user.ts b/source/client/local_user.ts index 7f2327e..540e311 100644 --- a/source/client/local_user.ts +++ b/source/client/local_user.ts @@ -1,9 +1,9 @@ -import { parameter_bool, parameter_number, parameter_string } from "./helper"; -import { log } from "./logger"; -import { RemoteUser } from "./remote_user"; -import { get_rnnoise_node } from "./rnnoise"; -import { Room } from "./room"; -import { User } from "./user"; +import { parameter_bool, parameter_number } from "./helper.ts"; +import { log } from "./logger.ts"; +import { RemoteUser } from "./remote_user.ts"; +import { get_rnnoise_node } from "./rnnoise.ts"; +import { Room } from "./room.ts"; +import { User } from "./user.ts"; export class LocalUser extends User { @@ -74,7 +74,7 @@ export class LocalUser extends User { else this.controls?.video.classList.remove("enabled") } - async add_initial_to_remote(ru: RemoteUser) { + add_initial_to_remote(ru: RemoteUser) { if (this.audio_track) ru.peer.addTrack(this.audio_track) if (this.video_track) ru.peer.addTrack(this.video_track) } @@ -133,7 +133,7 @@ export class LocalUser extends User { this.update_view_w() } - async disable_video() { + disable_video() { if (!this.video_track) return this.room.remote_users.forEach(u => { u.peer.getSenders().forEach(s => { @@ -144,7 +144,7 @@ export class LocalUser extends User { this.update_view_w() this.video_track = undefined } - async disable_audio() { + disable_audio() { if (!this.audio_track) return if (this.audio_disable_cleanup) this.audio_disable_cleanup() this.room.remote_users.forEach(u => { diff --git a/source/client/logger.ts b/source/client/logger.ts index 637f5c0..745ce88 100644 --- a/source/client/logger.ts +++ b/source/client/logger.ts @@ -9,6 +9,7 @@ const log_tag_color: { [key in LogTag]: string } = { } // TODO maybe log time aswell +// deno-lint-ignore no-explicit-any export function log(tag: LogTag, message: string, ...data: any[]) { for (let i = 0; i < data.length; i++) { const e = data[i]; diff --git a/source/client/remote_user.ts b/source/client/remote_user.ts index 6986a11..9e33a09 100644 --- a/source/client/remote_user.ts +++ b/source/client/remote_user.ts @@ -1,13 +1,13 @@ -import { servers } from "." -import { log } from "./logger" -import { Room } from "./room" -import { User } from "./user" +import { servers } from "./index.ts" +import { log } from "./logger.ts" +import { Room } from "./room.ts" +import { User } from "./user.ts" export class RemoteUser extends User { peer: RTCPeerConnection - negotiation_busy: boolean = false + negotiation_busy = false constructor(room: Room, name: string) { super(room, name) diff --git a/source/client/rnnoise.ts b/source/client/rnnoise.ts index c9014ef..0d301c5 100644 --- a/source/client/rnnoise.ts +++ b/source/client/rnnoise.ts @@ -1,9 +1,10 @@ -import { log } from "./logger" +import { log } from "./logger.ts" declare global { class RNNoiseNode extends AudioWorkletNode { static register(context: AudioContext): Promise<void> constructor(context: AudioContext) + // deno-lint-ignore no-explicit-any onstatus: (data: any) => void update(something: boolean): void } @@ -13,19 +14,19 @@ declare global { // TODO fix leak export async function get_rnnoise_node(context: AudioContext): Promise<RNNoiseNode> { log("misc", "rnnoise enabled") - //@ts-ignore + //@ts-ignore asfdasfd let RNNoiseNode: typeof RNNoiseNode = window.RNNoiseNode; let script: HTMLScriptElement; if (!RNNoiseNode) { log("misc", "loading rnnoise...") script = document.createElement("script") - script.src = "/static/rnnoise/rnnoise-runtime.js" + script.src = "/rnnoise/rnnoise-runtime.js" script.defer = true document.head.appendChild(script) - //@ts-ignore + //@ts-ignore asdfsfad while (!window.RNNoiseNode) await new Promise<void>(r => setTimeout(() => r(), 100)) - //@ts-ignore + //@ts-ignore asfdsadfsafd RNNoiseNode = window.RNNoiseNode; log("misc", "rnnoise loaded") } diff --git a/source/client/room.ts b/source/client/room.ts index 6a53a45..de6bff7 100644 --- a/source/client/room.ts +++ b/source/client/room.ts @@ -1,10 +1,9 @@ -import { log } from "./logger"; -import { CSPacket, SCPacket } from "./types"; -import { RemoteUser } from "./remote_user"; -import { User } from "./user"; -import { LocalUser } from "./local_user"; -import { parameters } from "."; -import { hex_id, parameter_string } from "./helper"; +import { log } from "./logger.ts"; +import { RemoteUser } from "./remote_user.ts"; +import { User } from "./user.ts"; +import { LocalUser } from "./local_user.ts"; +import { hex_id, parameter_string } from "./helper.ts"; +import { CSPacket, SCPacket } from "../packets.ts"; export class Room { diff --git a/source/client/types.ts b/source/client/types.ts deleted file mode 100644 index 7ce23ea..0000000 --- a/source/client/types.ts +++ /dev/null @@ -1,16 +0,0 @@ - -export interface SCPacket { - sender: string, - data?: CSPacket, - join?: boolean, // user just joined - leave?: boolean, // user left - stable?: boolean // user "joined" because you joined aka. user was already there -} -export interface CSPacket { - receiver?: string - ice_candiate?: RTCIceCandidateInit - offer?: RTCSessionDescriptionInit - answer?: RTCSessionDescriptionInit -} - - diff --git a/source/client/user.ts b/source/client/user.ts index f4f33e1..ef1449f 100644 --- a/source/client/user.ts +++ b/source/client/user.ts @@ -1,5 +1,6 @@ -import { log } from "./logger" -import { Room } from "./room" + +import { log } from "./logger.ts" +import { Room } from "./room.ts" export abstract class User { @@ -11,7 +12,7 @@ export abstract class User { display?: { audio_status_el: HTMLElement, video_status_el: HTMLElement } - local: boolean = false + local = false stream: MediaStream = new MediaStream() @@ -96,7 +97,7 @@ export abstract class User { const pip_el = document.createElement("input") pip_el.type = "button" pip_el.addEventListener("click", () => { - //@ts-ignore + // @ts-ignore firefox feature media_el.requestPictureInPicture() }) pip_el.value = "Picture-in-Picture" |