diff options
author | metamuffin <metamuffin@disroot.org> | 2022-10-07 23:19:22 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2022-10-07 23:19:22 +0200 |
commit | 0b75a0609e65a4d09e12d9f8466d6ece52869a94 (patch) | |
tree | f03a96dee6e3b01b545349cd646fd9a7e420e769 /client-web/source/resource/file.ts | |
parent | 4f026d9fdd8e50014ac349b2cb0ea72162308ead (diff) | |
download | keks-meet-0b75a0609e65a4d09e12d9f8466d6ece52869a94.tar keks-meet-0b75a0609e65a4d09e12d9f8466d6ece52869a94.tar.bz2 keks-meet-0b75a0609e65a4d09e12d9f8466d6ece52869a94.tar.zst |
logging for data channel
Diffstat (limited to 'client-web/source/resource/file.ts')
-rw-r--r-- | client-web/source/resource/file.ts | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/client-web/source/resource/file.ts b/client-web/source/resource/file.ts index d76961d..6cf3ff6 100644 --- a/client-web/source/resource/file.ts +++ b/client-web/source/resource/file.ts @@ -1,4 +1,12 @@ +/* + This file is part of keks-meet (https://codeberg.org/metamuffin/keks-meet) + which is licensed under the GNU Affero General Public License (version 3); see /COPYING. + Copyright (C) 2022 metamuffin <metamuffin@disroot.org> +*/ +/// <reference lib="dom" /> + import { ebutton, ediv, espan, sleep } from "../helper.ts"; +import { log } from "../logger.ts"; import { LocalResource, ResourceHandlerDecl } from "./mod.ts"; export const resource_file: ResourceHandlerDecl = { @@ -28,13 +36,13 @@ export const resource_file: ResourceHandlerDecl = { this.el.appendChild(display.el) channel.onopen = _ev => { - console.log(`${user.display_name}: channel open`); + log("dc", `${user.display_name}: channel open`); } channel.onerror = _ev => { - console.log(`${user.display_name}: channel error`); + log("dc", `${user.display_name}: channel error`); } channel.onclose = _ev => { - console.log(`${user.display_name}: channel closed`); + log("dc", `${user.display_name}: channel closed`); const a = document.createElement("a") a.href = URL.createObjectURL(new Blob([buffer], { type: "text/plain" })) a.download = info.label ?? "file" @@ -99,12 +107,13 @@ function file_res_inner(file: File): LocalResource { display.status = `Draining buffers… (buffer: ${channel.bufferedAmount})` await sleep(10) } + display.status = "Waiting for the channel to close…" return channel.close() } const feed = async () => { const { value: chunk, done } = await reader.read() - if (!chunk) console.warn("no chunk"); if (done) return await finish() + if (!chunk) console.warn("no chunk"); position += chunk.length channel.send(chunk) display.status = `${position} / ${file.size} (buffer: ${channel.bufferedAmount})` @@ -119,17 +128,17 @@ function file_res_inner(file: File): LocalResource { channel.onbufferedamountlow = () => feed_until_full() channel.onopen = _ev => { display.status = "Buffering…" - console.log(`${user.display_name}: channel open`); + log("dc", `${user.display_name}: channel open`); feed_until_full() } channel.onerror = _ev => { - console.log(`${user.display_name}: channel error`); + log("dc", `${user.display_name}: channel error`); } channel.onclosing = _ev => { display.status = "Channel closing…" } channel.onclose = _ev => { - console.log(`${user.display_name}: channel closed`); + log("dc", `${user.display_name}: channel closed`); transfers_el.removeChild(display.el) } return channel |