From 13e01eb7e2c8255dd6b848df240e3049235ff7aa Mon Sep 17 00:00:00 2001 From: Weixuan Fu Date: Thu, 22 Feb 2024 17:06:21 +0800 Subject: [PATCH] opens a workflow version from cloud --- .../hooks/ServerEventListener.ts | 34 ++++++------------- 1 file changed, 10 insertions(+), 24 deletions(-) diff --git a/ui/src/model-manager/hooks/ServerEventListener.ts b/ui/src/model-manager/hooks/ServerEventListener.ts index 39e7d26..4baf062 100644 --- a/ui/src/model-manager/hooks/ServerEventListener.ts +++ b/ui/src/model-manager/hooks/ServerEventListener.ts @@ -1,4 +1,4 @@ -import { useContext } from "react"; +import { useContext, useEffect } from "react"; import { useDialog } from "../../components/AlertDialogProvider"; import { workflowVersionsTable, @@ -20,18 +20,19 @@ export default function ServerEventListener() { await workflowVersionsTable?.listByIndex("cloudID", version.id) )?.at(0); if (existingVersion) { + // existing workflow and version await loadWorkflowID(existingWorkflow.id); - console.log("existingVersion", existingVersion); } else { + // existing workflow but new version await workflowVersionsTable?.add({ cloudID: version.id, workflowID: existingWorkflow.id, name: version.name, json: version.json, }); - console.log("newVersion", version); } } else { + // new workflow new version const newWorkflow = await workflowsTable?.add({ cloudID: workflow.id, name: workflow.name, @@ -49,15 +50,10 @@ export default function ServerEventListener() { json: version.json, }); await loadWorkflowID(newWorkflow.id); - console.log("newWorkflow", workflow); } }; const cloudEventListener = async (event: MessageEvent) => { const evt: CloudMessageEvent = event.data; - if (isCheckConnectionEvent(evt)) { - // TODO... - return; - } if (isOpenWorkflowEvent(evt)) { const origin = event.origin; showDialog( @@ -74,8 +70,12 @@ export default function ServerEventListener() { ); } }; - - window.addEventListener("message", cloudEventListener); + useEffect(() => { + if (window.opener) { + window.opener.postMessage("comfyui_workspace_manager_connected", "*"); + } + window.addEventListener("message", cloudEventListener); + }, []); return null; } @@ -99,20 +99,6 @@ interface OpenWorkflowEvent extends CloudMessageEvent { }; } -interface CheckConnectionEvent extends CloudMessageEvent { - type: "workspace_check_connection"; - detail: { - workflowID: string; - versionID: string; - }; -} - -function isCheckConnectionEvent( - n: CloudMessageEvent, -): n is CheckConnectionEvent { - return n.type === "workspace_check_connection"; -} - function isOpenWorkflowEvent(n: CloudMessageEvent): n is OpenWorkflowEvent { return n.type === "workspace_open_workflow"; }