]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/commitdiff
Fix error when cookies are disabled
authorChocobozzz <me@florianbigard.com>
Fri, 25 Jun 2021 13:40:59 +0000 (15:40 +0200)
committerChocobozzz <me@florianbigard.com>
Fri, 25 Jun 2021 13:40:59 +0000 (15:40 +0200)
client/src/assets/player/peertube-player-local-storage.ts

index 80aceb2395801e0b9490df264230dfa151284fa4..d4cbda3a9164d5a029f3ce603705b22e5189444a 100644 (file)
@@ -69,9 +69,10 @@ function getStoredLastSubtitle () {
   return getLocalStorage('last-subtitle')
 }
 
-function saveVideoWatchHistory(videoUUID: string, duration: number) {
+function saveVideoWatchHistory (videoUUID: string, duration: number) {
   return setLocalStorage(`video-watch-history`, JSON.stringify({
     ...getStoredVideoWatchHistory(),
+
     [videoUUID]: {
       duration,
       date: `${(new Date()).toISOString()}`
@@ -79,11 +80,14 @@ function saveVideoWatchHistory(videoUUID: string, duration: number) {
   }))
 }
 
-function getStoredVideoWatchHistory(videoUUID?: string) {
+function getStoredVideoWatchHistory (videoUUID?: string) {
   let data
 
   try {
-    data = JSON.parse(getLocalStorage('video-watch-history'))
+    const value = getLocalStorage('video-watch-history')
+    if (!value) return {}
+
+    data = JSON.parse(value)
   } catch (error) {
     console.error('Cannot parse video watch history from local storage: ', error)
   }
@@ -95,8 +99,9 @@ function getStoredVideoWatchHistory(videoUUID?: string) {
   return data
 }
 
-function cleanupVideoWatch() {
+function cleanupVideoWatch () {
   const data = getStoredVideoWatchHistory()
+  if (!data) return
 
   const newData = Object.keys(data).reduce((acc, videoUUID) => {
     const date = Date.parse(data[videoUUID].date)