From 5629127446ee62aacaeb46dd67fee9e12844d2e1 Mon Sep 17 00:00:00 2001
From: Towsty
Date: Sat, 29 Aug 2026 18:08:26 -0500
Subject: [PATCH] Let Generate queue while Comfy is asleep instead of disabling
the button.
Co-authored-by: Cursor
---
pages/index.vue | 25 +++++++++++++++++++------
1 file changed, 19 insertions(+), 6 deletions(-)
diff --git a/pages/index.vue b/pages/index.vue
index 7e855c6..171aaa9 100644
--- a/pages/index.vue
+++ b/pages/index.vue
@@ -22,8 +22,8 @@
+
{{ editBlockReason }}
{{ editV2BlockReason }}
+
{{ gpuSleepHint }}
@@ -2720,10 +2731,15 @@ const recommendHint = computed(() => {
if (imageSidecarBusy.value) return 'Beast Comfy is busy — this may wait in its queue.'
return 'Send this still and draft to Beast Qwen VL.'
})
+const gpuSleepHint = computed(() => {
+ if (comfyOk.value || imageComfyOk.value) return ''
+ if (gpuWaking.value) return 'Starting Comfy on the GPU. Generate will wait in the job queue until it answers.'
+ if (comfyAsleep.value) return 'GPU is asleep. Generate will wake it — the first job can take a few minutes. Or click Wake GPU to pre-warm.'
+ return 'GPU is offline. Generate will try to start Comfy. Or click Wake GPU.'
+})
const editBlocked = computed(() => {
if (!file.value || !prompt.value.trim() || !folderId.value) return true
if (editPassQueue.value.some(item => !item.prompt.trim())) return true
- if (!comfyOk.value && !imageComfyOk.value && !gpuWaking.value) return true
return false
})
const editBlockReason = computed(() => {
@@ -2732,7 +2748,6 @@ const editBlockReason = computed(() => {
if (!folderId.value) return 'Choose a library folder before editing.'
if (editPassQueue.value.some(item => !item.prompt.trim())) return 'Each extra pass needs a prompt.'
if (!imageComfyConfigured.value && !comfyOk.value) return 'Image edit is not configured. Set COMFY_HOST.'
- if (!comfyOk.value && !imageComfyOk.value && !gpuWaking.value) return 'Desktop GPU is offline. Click Wake GPU first.'
return ''
})
const stillBHint = computed(() => {
@@ -2746,7 +2761,6 @@ const editV2Blocked = computed(() => {
if (v2Mode.value !== 'generate' && !file.value) return true
if (v2Mode.value === 'compose' && !editRefFile.value) return true
if (v2Mode.value === 'refine' && !refineMaskDirty.value) return true
- if (!comfyOk.value && !imageComfyOk.value && !gpuWaking.value) return true
return false
})
const editV2BlockReason = computed(() => {
@@ -2756,7 +2770,6 @@ const editV2BlockReason = computed(() => {
if (!prompt.value.trim()) return 'Write a prompt first.'
if (!folderId.value) return 'Choose a library folder before generating.'
if (!imageComfyConfigured.value && !comfyOk.value) return 'Image v2 is not configured. Set COMFY_HOST.'
- if (!comfyOk.value && !imageComfyOk.value && !gpuWaking.value) return 'Desktop GPU is offline. Click Wake GPU first.'
return ''
})
const editV2SubmitLabel = computed(() => {