Explorar o código

Fix SONG_END not being handled at clientside

niels %!s(int64=4) %!d(string=hai) anos
pai
achega
5cd84c5cec

+ 3 - 3
frontend/chuchufe/src/util/processors/songEndProcessor.js

@@ -26,13 +26,13 @@ export default function songEndProcessor(ws, data, [{ playback, chueue, controll
         //     player.seekTo(RTT_ESTIMATE + ALLOWED_AHEAD, true)
         // }
     } else {
-        console.error("Difficult state reached. Reset protocol not implemented. Either to far ahead, behind or state inconsistency", ended_id, current_id, videoPlaying)
+        console.error("Difficult state reached. Reset protocol not implemented. Either to far ahead, behind or state inconsistency", ended_id, current_id, song)
     }
 
-    return {
+    setRoom({
         chueue: {...chueue, ...newChueue},
         playback: {...playback, ...newPlayback},
         controller, ...rest
-    }
+    })                                                                                                                              
 
 }

+ 3 - 1
frontend/chuchufe/src/util/useRoom.js

@@ -7,12 +7,14 @@ import listOperationProcessor from "./processors/listOperationProcessor";
 import mediaActionProcessor from "./processors/mediaActionProcessor";
 import controlProcessor from "./processors/controlProcessor";
 import searchIdResultProcessor from "./processors/searchIdResultProcessor";
+import songEndProcessor from "./processors/songEndProcessor";
 
 const RETRY_TIMEOUT = 1000;
 
 function registerHandlers(resolver) {
     resolver.register(MessageTypes.STATE, stateProcessor);
     resolver.register(MessageTypes.LIST_OPERATION, listOperationProcessor);
+    resolver.register(MessageTypes.SONG_END, songEndProcessor)
     resolver.register(MessageTypes.MEDIA_ACTION, mediaActionProcessor);
     resolver.register(MessageTypes.OBTAIN_CONTROL, (ws, _, clientData) => controlProcessor(ws, { obtain: true }, clientData))
     resolver.register(MessageTypes.RELEASE_CONTROL, (ws, _, clientData) => controlProcessor(ws, { obtain: false }, clientData))
@@ -82,7 +84,7 @@ export default function useRoom(path) {
         const resolver = resolverRef.current
         registerHandlers(resolver)
         return () => unRegisterHandlers(resolver)
-    }, [connected, resolverRef])
+    }, [connected])
 
     const resolver = resolverRef.current;
     const websocket = resolver.websocket;