// import { Socket, io } from "socket.io-client"; // import { EXECUTIONS_BACKEND_URL } from "../constants"; // export function handleSocketEvents() { // if (!process.env.projectId || process.env.projectId.length === 0) return; // const projectId = process.env.projectId; // const socket: Socket = io(EXECUTIONS_BACKEND_URL, { // path: "/ws", // query: { fromClient: "true" }, // transports: ["polling", "websocket"], // }); // socket.emit("subscribeToExecutionStatus", projectId); // socket.on("startExecutionInstance", (instance) => { // const { executionInstanceId, executionId, reportLink, statusHistory } = instance; // // console.log("⬇︎1 Recieved socket update: startExecutionInstance", JSON.stringify(instance, null, 2)); // if (activeExecutionInstances.current === undefined) { // activeExecutionInstances.current = []; // } // if (!activeExecutionInstances.current.includes(executionInstanceId)) { // activeExecutionInstances.current.push(executionInstanceId); // } // instanceMapper.current.set(executionInstanceId, { // executionId, // reportLink, // }); // instanceToStatusHistory.current.set(executionInstanceId, statusHistory); // socket.on(`statusUpdate:${executionInstanceId}`, (status: ExecutionStatus) => { // // console.log(`⬇︎3.5 Status update for ${executionInstanceId}:`, status); // const latest = { // status, // timestamp: new Date(), // }; // const currentHistory = instanceToStatusHistory.current.get(executionInstanceId) ?? []; // instanceToStatusHistory.current.set(executionInstanceId, [...currentHistory, latest]); // trigger((prev) => !prev); // }); // trigger((prev) => !prev); // }); // socket.on("stopExecutionInstance", (instanceId) => { // // console.log(`⬇︎2 Recieved socket update: 🛑 Stopping execution instance: ${instanceId}`); // activeExecutionInstances.current = activeExecutionInstances.current?.filter((id) => id !== instanceId); // instanceMapper.current.delete(instanceId); // instanceToStatusHistory.current.delete(instanceId); // trigger((prev) => !prev); // }); // setCurrentActiveHistoryInstanceId(""); // set_npmrc_TextContent(currentProject?.npmrc_TextContent ?? ""); // return () => { // socket.disconnect(); // }; // }