diff --git a/common/views/WatchTogether/Lobby.svelte b/common/views/WatchTogether/Lobby.svelte index d3e9bba4..5b42af95 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 b49f8e78..b4fe30c3 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 21a6ca19..6c0824e1 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 c41ad124..fef6b6cc 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 }