Compare commits

..
Author SHA1 Message Date
KarrixLee d7fb688522 Bump CD ver to 2.3.2 in Manager 2025-08-26 17:38:01 +08:00
KarrixLee b98ae10a76 sync non local workflow 2025-08-26 16:01:05 +08:00
KarrixLee b79ed40f6d update ui 2025-08-26 15:52:45 +08:00
KarrixLee 06ae3af5d0 refresh the machine list automatically 2025-08-26 14:56:52 +08:00
KarrixLee 967709dd07 Bump CD ver to 2.3.1 in Manager 2025-08-21 19:07:55 +08:00
KarrixLee 07a827d56b Local: Sync serverless machine (#105)
* initt: add machine management functionality

- Implemented a new endpoint in custom_routes.py to retrieve machine details by ID.
- Introduced machine-manager.js to handle machine data fetching, display, and local storage management.
- Updated index.js to initialize the machine manager and display machine information in the UI.
- Adjusted workflow-list.js to modify the layout for better integration with the new machine management features.

These changes enhance the application's capability to manage and display serverless machine information effectively.

* refactor: enhance machine management UI and functionality

- Removed console error logs for improved user experience during initialization.
- Updated the display styles for "No machine found" and error messages to enhance visual clarity.
- Added buttons for adding and updating machines directly from the error and no machine states.
- Implemented a dialog for adding and updating machine IDs, improving user interaction.
- Adjusted the machine addition process to show loading states and ensure proper DOM updates.

These changes significantly improve the usability and functionality of the machine management feature.

* add: machine id when create

* remove unused code

* fetch docker steps in backend

* compare list

* can sync machine

* add: create machine from local

* add error

* add: blacklist node

* refactor: improve snapshot fetching and UI adjustments

- Introduced centralized snapshot fetching utilities in snapshot-utils.js, including a fallback for ComfyUI version retrieval.
- Updated machine-manager.js to utilize the new snapshot fetching methods, enhancing error handling and code clarity.
- Adjusted index.js to streamline snapshot fetching during workflow deployment.
- Made minor UI adjustments in workflow-list.js for better layout consistency.

These changes enhance the application's robustness in handling snapshots and improve overall user experience.

* small tweak

* tweak machine display

* chore: version to 2.3.0
2025-08-21 18:39:39 +08:00
4 changed files with 906 additions and 160 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
[project]
name = "comfyui-deploy"
description = "Open source comfyui deployment platform, a vercel for generative workflow infra."
version = "2.3.0"
version = "2.3.2"
license = { file = "LICENSE" }
dependencies = ["aiofiles", "pydantic", "opencv-python", "imageio-ffmpeg", "tabulate", "brotli"]
+872 -156
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1475,7 +1475,7 @@ window.applySyncChanges = async function (machineId) {
// Close the dialog
closeSyncDialog();
if (response.ok) {
if (response.id) {
window.app.extensionManager.toast.add({
severity: "success",
summary: "Machine updated successfully",
+32 -2
View File
@@ -49,6 +49,7 @@ async function fetchWorkflows(getData, offset = 0, limit = 20, search = "") {
function createWorkflowItem(workflow, getTimeAgo, getData) {
const li = document.createElement("li");
let loadingToast = null;
li.style.cssText = `
border-bottom: 1px solid #444;
background: transparent;
@@ -74,7 +75,7 @@ function createWorkflowItem(workflow, getTimeAgo, getData) {
}
// Show loading toast
const loadingToast = window.app.extensionManager.toast.add({
loadingToast = window.app.extensionManager.toast.add({
severity: "info",
summary: "Loading workflow...",
detail: `Loading "${workflow.name}"`,
@@ -108,6 +109,33 @@ function createWorkflowItem(workflow, getTimeAgo, getData) {
// Load the workflow
window.app.loadGraphData(latestVersion.workflow);
// Wait a bit for the graph to fully load before checking for ComfyDeploy node
await new Promise((resolve) => setTimeout(resolve, 100));
// Check if ComfyDeploy node exists, if not add it back
const graph = window.app.graph;
let deployMeta = graph.findNodesByType("ComfyDeploy");
if (deployMeta.length === 0) {
// Add ComfyDeploy node with workflow metadata
graph.beforeChange();
const node = LiteGraph.createNode("ComfyDeploy");
node.configure({
widgets_values: [
workflow.name, // workflow_name
workflow.id, // workflow_id
latestVersion.version, // version
],
});
node.pos = [0, 0];
graph.add(node);
graph.afterChange();
console.log(
`Added ComfyDeploy node with: name="${workflow.name}", id="${workflow.id}", version="${latestVersion.version}"`
);
}
// Show success toast
window.app.extensionManager.toast.add({
severity: "success",
@@ -127,7 +155,9 @@ function createWorkflowItem(workflow, getTimeAgo, getData) {
life: 5000,
});
} finally {
loadingToast.close();
if (loadingToast) {
loadingToast.close();
}
}
});