diff options
| author | Mel <einebeere@gmail.com> | 2022-02-21 02:15:39 +0100 |
|---|---|---|
| committer | Mel <einebeere@gmail.com> | 2022-02-21 02:15:39 +0100 |
| commit | 2907928cf3cb204a6049192175c107173cce608d (patch) | |
| tree | fd2fb20e048bf7cdb4a97b7d2b4aacac98bc0a35 /assets | |
| parent | 456d2d49358356b5895ddb71c5895d3eabb7e677 (diff) | |
| download | rook-2907928cf3cb204a6049192175c107173cce608d.tar.zst rook-2907928cf3cb204a6049192175c107173cce608d.zip | |
Add temporary check for ICE failure.
Diffstat (limited to 'assets')
| -rw-r--r-- | assets/src/network/transfer/transfer.ts | 14 |
1 files changed, 14 insertions, 0 deletions
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; } |
