From dddcb3764d217e911823beee8caf4a7006711e45 Mon Sep 17 00:00:00 2001 From: SystemsPurge Date: Fri, 11 Oct 2024 16:13:55 +0200 Subject: [PATCH] Fixed values array of websocket message being of incorrect or incompatible length with the length field --- src/pages/dashboards/dashboard.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/pages/dashboards/dashboard.js b/src/pages/dashboards/dashboard.js index 1cb7efe..7b3df21 100644 --- a/src/pages/dashboards/dashboard.js +++ b/src/pages/dashboards/dashboard.js @@ -68,6 +68,8 @@ const Dashboard = ({ isFullscreen, toggleFullscreen }) => { const [widgetsToUpdate, setWidgetsToUpdate] = useState([]); const [configs, setConfigs] = useState([]); const [signals, setSignals] = useState([]); + const [length,setLength] = useState(0); + const [final,setFinal] = useState(false) const [sessionToken, setSessionToken] = useState(localStorage.getItem("token")); const [files, setFiles] = useState([]); const [editing, setEditing] = useState(false); @@ -103,10 +105,12 @@ const Dashboard = ({ isFullscreen, toggleFullscreen }) => { //connect to websockets useEffect(() => { + if(!final) + return activeICS.forEach((i) => { if(i.websocketurl){ if(!activeSocketURLs.includes(i.websocketurl)) - dispatch(connectWebSocket({ url: i.websocketurl, id: i.id })); + dispatch(connectWebSocket({ url: i.websocketurl, id: i.id ,length:length})); } }) @@ -116,7 +120,7 @@ const Dashboard = ({ isFullscreen, toggleFullscreen }) => { }); }; - }, [activeICS]); + }, [activeICS,final]); //as soon as dashboard is loaded, load widgets, configs, signals and files for this dashboard @@ -156,9 +160,11 @@ const Dashboard = ({ isFullscreen, toggleFullscreen }) => { if(configsRes.configs.length > 0){ for(const config of configsRes.configs){ const signalsInRes = await triggerGetSignals({configID: config.id, direction: "in"}).unwrap(); + setLength(signalsInRes.signals.length) const signalsOutRes = await triggerGetSignals({configID: config.id, direction: "out"}).unwrap(); setSignals(prevState => ([...signalsInRes.signals, ...signalsOutRes.signals, ...prevState])); } + setFinal(true) } }