From cf165953f1a87a4cbfed9945a147406faea8b0e2 Mon Sep 17 00:00:00 2001 From: saber-wang <45062099+saber-wang@users.noreply.github.com> Date: Thu, 10 Apr 2025 22:28:55 +0800 Subject: [PATCH] fix: endpoint `build_public_tmp` now supports event delivery type `direct` (#7526) * fix the issue where `build_public_tmp` does not support `EVENT_DELIVERY=direct` * fix: modify `build_public_tmp` to conform to the latest design * [autofix.ci] apply automated fixes * fix: Delete debugging logs * fix: Delete debugging logs * fix: Delete debugging logs --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Gabriel Luiz Freitas Almeida --- src/backend/base/langflow/api/v1/chat.py | 10 +++++++++- src/frontend/src/pages/Playground/index.tsx | 3 +++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/backend/base/langflow/api/v1/chat.py b/src/backend/base/langflow/api/v1/chat.py index 8568ecb53..d76e4f33d 100644 --- a/src/backend/base/langflow/api/v1/chat.py +++ b/src/backend/base/langflow/api/v1/chat.py @@ -568,6 +568,7 @@ async def build_public_tmp( flow_name: str | None = None, request: Request, queue_service: Annotated[JobQueueService, Depends(get_queue_service)], + event_delivery: EventDeliveryType = EventDeliveryType.POLLING, ): """Build a public flow without requiring authentication. @@ -595,6 +596,7 @@ async def build_public_tmp( flow_name: Optional name for the flow request: FastAPI request object (needed for cookie access) queue_service: Queue service for job management + event_delivery: Optional event delivery type - default is streaming Returns: Dict with job_id that can be used to poll for build status @@ -623,4 +625,10 @@ async def build_public_tmp( if isinstance(exc, HTTPException): raise raise HTTPException(status_code=500, detail=str(exc)) from exc - return {"job_id": job_id} + if event_delivery != EventDeliveryType.DIRECT: + return {"job_id": job_id} + return await get_flow_events_response( + job_id=job_id, + queue_service=queue_service, + event_delivery=event_delivery, + ) diff --git a/src/frontend/src/pages/Playground/index.tsx b/src/frontend/src/pages/Playground/index.tsx index 59f6ae312..0d28259f6 100644 --- a/src/frontend/src/pages/Playground/index.tsx +++ b/src/frontend/src/pages/Playground/index.tsx @@ -1,3 +1,4 @@ +import { useGetConfig } from "@/controllers/API/queries/config/use-get-config"; import { useGetFlow } from "@/controllers/API/queries/flows/use-get-flow"; import { useCustomNavigate } from "@/customization/hooks/use-custom-navigate"; import { track } from "@/customization/utils/analytics"; @@ -11,6 +12,8 @@ import { v4 as uuid } from "uuid"; import useFlowsManagerStore from "../../stores/flowsManagerStore"; import { getInputsAndOutputs } from "../../utils/storeUtils"; export default function PlaygroundPage() { + + useGetConfig(); const setCurrentFlow = useFlowsManagerStore((state) => state.setCurrentFlow); const currentSavedFlow = useFlowsManagerStore((state) => state.currentFlow); const setClientId = useUtilityStore((state) => state.setClientId);