From 41ce71e623d09593f58ff8fcbd63666240282b64 Mon Sep 17 00:00:00 2001 From: ThaUnknown <6506529+ThaUnknown@users.noreply.github.com> Date: Tue, 27 Aug 2024 19:47:17 +0200 Subject: [PATCH] fix: potential w2g errors --- common/views/WatchTogether/Lobby.svelte | 2 ++ common/views/WatchTogether/Message.svelte | 4 ++-- common/views/WatchTogether/User.svelte | 6 ++--- common/views/WatchTogether/w2g.js | 6 ++++- pnpm-lock.yaml | 28 +++++++++++++++++++---- 5 files changed, 35 insertions(+), 11 deletions(-) diff --git a/common/views/WatchTogether/Lobby.svelte b/common/views/WatchTogether/Lobby.svelte index d3e9bba..5b42af9 100644 --- a/common/views/WatchTogether/Lobby.svelte +++ b/common/views/WatchTogether/Lobby.svelte @@ -4,6 +4,8 @@ import Message from './Message.svelte' import { SendHorizontal, DoorOpen, UserPlus } from 'lucide-svelte' export let invite + + /** @type {import('simple-store-svelte').Writable} */ export let state function cleanup () { diff --git a/common/views/WatchTogether/Message.svelte b/common/views/WatchTogether/Message.svelte index 14d9f50..924a546 100644 --- a/common/views/WatchTogether/Message.svelte +++ b/common/views/WatchTogether/Message.svelte @@ -14,11 +14,11 @@
- ProfilePicture + ProfilePicture
- {user.name || 'Anonymous'} + {user?.name || 'Anonymous'}
{time.toLocaleTimeString()} diff --git a/common/views/WatchTogether/User.svelte b/common/views/WatchTogether/User.svelte index a75299b..10dd691 100644 --- a/common/views/WatchTogether/User.svelte +++ b/common/views/WatchTogether/User.svelte @@ -8,11 +8,11 @@
- ProfilePicture + ProfilePicture
- {user.name || 'Anonymous'} + {user?.name || 'Anonymous'}
- {#if user.name} + {#if user?.name} IPC.emit('open', 'https://anilist.co/user/' + user.name)}> diff --git a/common/views/WatchTogether/w2g.js b/common/views/WatchTogether/w2g.js index 77de383..1824e47 100644 --- a/common/views/WatchTogether/w2g.js +++ b/common/views/WatchTogether/w2g.js @@ -103,7 +103,8 @@ export class W2GClient extends EventEmitter { } _playerStateChanged (state) { - debug(`_playerStateChanged: ${this.player.paused} ${state.paused} ${this.player.time} ${state.time}`) + debug(`_playerStateChanged: ${this.player?.paused} ${state?.paused} ${this.player?.time} ${state?.time}`) + if (!state) return false if (this.player.paused !== state.paused || this.player.time !== state.time) { this.player = state return true @@ -177,6 +178,7 @@ export class W2GClient extends EventEmitter { }) break case EventTypes.MagnetLinkEvent: { + if (data.payload?.magnet === undefined) break const { hash, magnet } = data.payload if (hash !== this.magnet?.hash) { this.isHost = false @@ -187,6 +189,7 @@ export class W2GClient extends EventEmitter { break } case EventTypes.MediaIndexEvent: { + if (data.payload?.index === undefined) break if (this.index !== data.payload.index) { this.index = data.payload.index this.emit('index', data.payload.index) @@ -194,6 +197,7 @@ export class W2GClient extends EventEmitter { break } case EventTypes.PlayerStateEvent: { + if (data.payload?.time === undefined) break if (this._playerStateChanged(data.payload)) this.emit('player', data.payload) break } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0bc589b..e42d679 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -210,7 +210,7 @@ importers: version: 0.11.0(svelte@4.2.12) svelte-radix: specifier: ^1.1.0 - version: 1.1.0(svelte@4.2.12) + version: 1.1.1(svelte@4.2.12) svelte-sonner: specifier: ^0.3.19 version: 0.3.19(svelte@4.2.12) @@ -3532,6 +3532,11 @@ packages: resolution: {integrity: sha512-GhiKG7CGTXzOQq56tIx40Ae26EbrgBq1owuuPqgCTaJDQYO1qW5G+YGaurOLx7s+Aaeta8MputrVFDr0kuiogg==} engines: {node: '>=12.20.0'} + lucide-svelte@0.429.0: + resolution: {integrity: sha512-3LwbxQn5i9/zQwMg0ZWT875djOEQoR3eM8ytOGqk0eRk4wkoqqgZX0Gr+aQjkd+RSDEVMXkIEoyW/1zLyXr/6g==} + peerDependencies: + svelte: ^3 || ^4 || ^5.0.0-next.42 + magic-string@0.30.10: resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} @@ -4866,8 +4871,8 @@ packages: peerDependencies: svelte: ^3.19.0 || ^4.0.0 - svelte-keybinds@1.0.8: - resolution: {integrity: sha512-clP0/5XgMWXNlImQALBQYyrfN06fgWKWufoMumeGOABOsewScPsv1jRFZzks9f3Xh2e53XgZIx57Fb/a6d/ptw==} + svelte-keybinds@1.0.9: + resolution: {integrity: sha512-bQt9azkXX4SgMJpJzYWQB6D0hj45+Ro2+2Awr4YNtjmuRuKdio+Rxuhky5JJyBBfyRQ7YT63nSR3whH4FACv1A==} svelte-loader@3.1.9: resolution: {integrity: sha512-RITPqze3TppOhaZF8SEFTDTwFHov17k3UkOjpxyL/No/YVrvckKmXWOEj7QEpsZZZSNQPb28tMZbHEI2xLhJMQ==} @@ -4920,6 +4925,11 @@ packages: typescript: optional: true + svelte-radix@1.1.1: + resolution: {integrity: sha512-TCbV7fzlJ2aEUB0nu2EodVA+r1eYj526IYpmGUTV32Z0bIrCUvx3K8xX3tcxR5dDFA5ZBU1Hxr4RYC4TDFEQ4A==} + peerDependencies: + svelte: ^3.54.0 || ^4.0.0 || ^5.0.0 || ^5.0.0-next.1 + svelte-sonner@0.3.19: resolution: {integrity: sha512-jpPOgLtHwRaB6Vqo2dUQMv15/yUV/BQWTjKpEqQ11uqRSHKjAYUKZyGrHB2cQsGmyjR0JUzBD58btpgNqINQ/Q==} peerDependencies: @@ -8853,7 +8863,7 @@ snapshots: array-union: 2.1.0 dir-glob: 3.0.1 fast-glob: 3.3.2 - ignore: 5.3.2 + ignore: 5.3.1 merge2: 1.4.1 slash: 3.0.0 @@ -9500,6 +9510,10 @@ snapshots: transitivePeerDependencies: - supports-color + lucide-svelte@0.429.0(svelte@4.2.12): + dependencies: + svelte: 4.2.12 + magic-string@0.30.10: dependencies: '@jridgewell/sourcemap-codec': 1.4.15 @@ -10976,7 +10990,7 @@ snapshots: dependencies: svelte: 4.2.12 - svelte-keybinds@1.0.8: {} + svelte-keybinds@1.0.9: {} svelte-loader@3.1.9(svelte@4.2.12): dependencies: @@ -11004,6 +11018,10 @@ snapshots: postcss-load-config: 3.1.4(postcss@8.4.38)(ts-node@10.9.2(typescript@5.4.5)) typescript: 5.3.3 + svelte-radix@1.1.1(svelte@4.2.12): + dependencies: + svelte: 4.2.12 + svelte-sonner@0.3.19(svelte@4.2.12): dependencies: svelte: 4.2.12