From 2907928cf3cb204a6049192175c107173cce608d Mon Sep 17 00:00:00 2001 From: Mel Date: Mon, 21 Feb 2022 02:15:39 +0100 Subject: Add temporary check for ICE failure. --- assets/src/network/transfer/transfer.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'assets/src/network/transfer') diff --git a/assets/src/network/transfer/transfer.ts b/assets/src/network/transfer/transfer.ts index b566aa0..434c4fc 100644 --- a/assets/src/network/transfer/transfer.ts +++ b/assets/src/network/transfer/transfer.ts @@ -1,9 +1,11 @@ import { Writable, writable } from "svelte/store"; +import { toast, ToastType } from "../../state/toast"; export enum TransferState { CONNECTING, TRANSFERRING, DONE, + FAILED, } export type Transfer = { @@ -46,6 +48,18 @@ export function createTransfer( onChannel(channel, () => onTransferComplete(transfer)); }; + pc.addEventListener("iceconnectionstatechange", (e: any) => { + if (pc.iceConnectionState === "failed") { + toast({ + type: ToastType.ERROR, + title: "An error occurred!", + // FIXME: Implement said fix! + message: "ICE negotiation failed. A fix is in progress.", + }); + transfer.state.set(TransferState.FAILED); + } + }); + return transfer; } -- cgit 1.4.1