diff --git a/CHANGELOG.md b/CHANGELOG.md index 4c9d55d..f19db6e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [next] + +- Fixed [#403](https://github.com/Mastermindzh/tidal-hifi/issues/403) "cannot read shuffle of undefined" error + ## [5.12.0] - Added Shuffle and Repeat state to API response - By [ThatGravyBoat](https://github.com/ThatGravyBoat) diff --git a/src/models/mediaInfo.ts b/src/models/mediaInfo.ts index 1db49fe..c2a59eb 100644 --- a/src/models/mediaInfo.ts +++ b/src/models/mediaInfo.ts @@ -14,5 +14,5 @@ export interface MediaInfo { durationInSeconds?: number; image: string; favorite: boolean; - player: MediaPlayerInfo; + player?: MediaPlayerInfo; } diff --git a/src/scripts/mediaInfo.ts b/src/scripts/mediaInfo.ts index fba1973..2fe4127 100644 --- a/src/scripts/mediaInfo.ts +++ b/src/scripts/mediaInfo.ts @@ -20,7 +20,7 @@ export const mediaInfo = { status: MediaStatus.paused as string, shuffle: false, repeat: RepeatState.off as string, - } + }, }; export const updateMediaInfo = (arg: MediaInfo) => { @@ -37,9 +37,11 @@ export const updateMediaInfo = (arg: MediaInfo) => { mediaInfo.image = propOrDefault(arg.image); mediaInfo.favorite = arg.favorite; - mediaInfo.player.status = propOrDefault(arg.player?.status); - mediaInfo.player.shuffle = arg.player.shuffle; - mediaInfo.player.repeat = propOrDefault(arg.player?.repeat); + mediaInfo.player = { + status: propOrDefault(arg.player?.status), + shuffle: arg.player?.shuffle ?? false, + repeat: propOrDefault(arg.player?.repeat), + }; }; /**