diff --git a/_sql/actions_and_analytics/storyteller_studio/list_storyteller_studio_jobs.sql b/_sql/actions_and_analytics/storyteller_studio/list_storyteller_studio_jobs.sql new file mode 100644 index 0000000000..9460dc87a3 --- /dev/null +++ b/_sql/actions_and_analytics/storyteller_studio/list_storyteller_studio_jobs.sql @@ -0,0 +1,15 @@ +-- noinspection SqlDialectInspectionForFile +-- noinspection SqlNoDataSourceInspectionForFile +-- noinspection SqlResolveForFile + +select * +from generic_inference_jobs +where job_type = 'comfy_ui' +and status NOT IN ( + 'pending', + 'started', + 'complete_success' +) +order by id desc +limit 5\G + diff --git a/crates/lib/data/primitives/src/traits/trim_or_emptyable.rs b/crates/lib/data/primitives/src/traits/trim_or_emptyable.rs index c990ac7eaa..66147ad609 100644 --- a/crates/lib/data/primitives/src/traits/trim_or_emptyable.rs +++ b/crates/lib/data/primitives/src/traits/trim_or_emptyable.rs @@ -9,6 +9,15 @@ pub trait TrimOrEmptyable { } } +// TODO: Can't create this due to conflicting implementations +// impl TrimOrEmptyable for T +// where T: AsRef +// { +// fn trim_or_empty(&self) -> Option<&str> { +// self.as_ref().trim_or_empty() +// } +// } + impl TrimOrEmptyable for Option<&str> { fn trim_or_empty(&self) -> Option<&str> { self.map(|s| s.trim()) diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/workflows/enqueue_video_style_transfer_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/workflows/enqueue_video_style_transfer_handler.rs index 5e63d0e2b7..f5b6279c98 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/workflows/enqueue_video_style_transfer_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/workflows/enqueue_video_style_transfer_handler.rs @@ -355,7 +355,8 @@ pub async fn enqueue_video_style_transfer_handler( negative_prompt: request.negative_prompt.new_string_trim_or_empty(), global_ip_adapter_token: request.global_ipa_media_token .as_ref() - .trim_or_empty() + // NB: Frontend is mistakenly sending empty string - ignore it + .filter(|t| t.as_str().trim_or_empty().is_some()) .map(|t| t.clone()), strength: maybe_strength,