Compare commits

..
Author SHA1 Message Date
bennykok 7d65d23f84 fix: add null check in findIndex to prevent TypeError in context menu
- Fixed TypeError when accessing 'content' property of null/undefined array elements
- Removed empty options.push() that was adding undefined to the array
- Bump version to 2.3.3
2025-08-26 18:34:20 -07:00
KarrixLee a91edf6371 Fix serverless machine (#106)
* refresh the machine list automatically

* update ui

* sync non local workflow

* Bump CD ver to 2.3.2 in Manager
2025-08-26 17:38:34 +08:00
2 changed files with 21 additions and 29 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
[project] [project]
name = "comfyui-deploy" name = "comfyui-deploy"
description = "Open source comfyui deployment platform, a vercel for generative workflow infra." description = "Open source comfyui deployment platform, a vercel for generative workflow infra."
version = "2.3.2" version = "2.3.3"
license = { file = "LICENSE" } license = { file = "LICENSE" }
dependencies = ["aiofiles", "pydantic", "opencv-python", "imageio-ffmpeg", "tabulate", "brotli"] dependencies = ["aiofiles", "pydantic", "opencv-python", "imageio-ffmpeg", "tabulate", "brotli"]
+20 -28
View File
@@ -538,9 +538,7 @@ const ext = {
} }
if (toInput.length) { if (toInput.length) {
if (true) { if (true) {
options.push(); let optionIndex = options.findIndex((o) => o && o.content === "Outputs");
let optionIndex = options.findIndex((o) => o.content === "Outputs");
if (optionIndex === -1) optionIndex = options.length; if (optionIndex === -1) optionIndex = options.length;
else optionIndex++; else optionIndex++;
options.splice( options.splice(
@@ -737,7 +735,7 @@ const ext = {
"string", "string",
inputName, inputName,
/* value=*/ "", /* value=*/ "",
() => {}, () => { },
{ serialize: true } { serialize: true }
); );
@@ -1720,14 +1718,12 @@ export class LoadingDialog extends ComfyDialog {
showLoading(title, message) { showLoading(title, message) {
this.show(` this.show(`
<div style="width: 400px; display: flex; gap: 18px; flex-direction: column; overflow: unset"> <div style="width: 400px; display: flex; gap: 18px; flex-direction: column; overflow: unset">
<h3 style="margin: 0px; display: flex; align-items: center; justify-content: center; gap: 12px;">${title} ${ <h3 style="margin: 0px; display: flex; align-items: center; justify-content: center; gap: 12px;">${title} ${this.loadingIcon
this.loadingIcon }</h3>
}</h3> ${message
${ ? `<label style="max-width: 100%; white-space: pre-wrap; word-wrap: break-word;">${message}</label>`
message : ""
? `<label style="max-width: 100%; white-space: pre-wrap; word-wrap: break-word;">${message}</label>` }
: ""
}
</div> </div>
`); `);
} }
@@ -2312,12 +2308,10 @@ export class ConfigDialog extends ComfyDialog {
transition: all 0.2s ease; transition: all 0.2s ease;
box-sizing: border-box; box-sizing: border-box;
" onfocus="this.style.borderColor='#0ea5e9'; this.style.background='#252525'; this.style.boxShadow='0 0 0 3px rgba(14, 165, 233, 0.1)'" onblur="this.style.borderColor='#404040'; this.style.background='#1a1a1a'; this.style.boxShadow='none'" onmouseover="this.style.borderColor='#525252'" onmouseout="if(document.activeElement !== this) this.style.borderColor='#404040'"> " onfocus="this.style.borderColor='#0ea5e9'; this.style.background='#252525'; this.style.boxShadow='0 0 0 3px rgba(14, 165, 233, 0.1)'" onblur="this.style.borderColor='#404040'; this.style.background='#1a1a1a'; this.style.boxShadow='none'" onmouseover="this.style.borderColor='#525252'" onmouseout="if(document.activeElement !== this) this.style.borderColor='#404040'">
<option value="cloud" ${ <option value="cloud" ${data.environment === "cloud" ? "selected" : ""
data.environment === "cloud" ? "selected" : "" }>☁️ Cloud Deployment</option>
}>☁️ Cloud Deployment</option> <option value="local" ${data.environment === "local" ? "selected" : ""
<option value="local" ${ }>🏠 Local Development</option>
data.environment === "local" ? "selected" : ""
}>🏠 Local Development</option>
</select> </select>
<div style=" <div style="
position: absolute; position: absolute;
@@ -2382,9 +2376,8 @@ export class ConfigDialog extends ComfyDialog {
text-transform: uppercase; text-transform: uppercase;
letter-spacing: 0.5px; letter-spacing: 0.5px;
">API Key</label> ">API Key</label>
${ ${data.displayName
data.displayName ? `
? `
<div style=" <div style="
background: linear-gradient(135deg, #0ea5e9, #3b82f6); background: linear-gradient(135deg, #0ea5e9, #3b82f6);
color: white; color: white;
@@ -2403,8 +2396,8 @@ export class ConfigDialog extends ComfyDialog {
${data.displayName} ${data.displayName}
</div> </div>
` `
: "" : ""
} }
</div> </div>
<input <input
id="apiKey" id="apiKey"
@@ -2450,11 +2443,10 @@ export class ConfigDialog extends ComfyDialog {
<polyline points="10,17 15,12 10,7"/> <polyline points="10,17 15,12 10,7"/>
<line x1="15" y1="12" x2="3" y2="12"/> <line x1="15" y1="12" x2="3" y2="12"/>
</svg> </svg>
${ ${data.apiKey
data.apiKey ? "Re-authenticate with ComfyDeploy"
? "Re-authenticate with ComfyDeploy" : "Login with ComfyDeploy"
: "Login with ComfyDeploy" }
}
</button> </button>
</div> </div>
</div> </div>