Jon/sky 6395 refresh code while workflow is running (#3444)

This commit is contained in:
Jonathan Dobson
2025-09-16 14:47:09 -04:00
committed by GitHub
parent ca84e57665
commit d57fccfaaf
4 changed files with 98 additions and 40 deletions

View File

@@ -143,7 +143,7 @@ function Workspace({
? ""
: cacheKeyValueParam
? cacheKeyValueParam
: constructCacheKeyValue(cacheKey, workflow),
: constructCacheKeyValue({ codeKey: cacheKey, workflow }),
);
useEffect(() => {

View File

@@ -1,4 +1,5 @@
import { WorkflowApiResponse } from "@/routes/workflows/types/workflowTypes";
import { WorkflowRunStatusApiResponse } from "@/api/types";
import {
isDisplayedInWorkflowEditor,
WorkflowEditorParameterTypes,
@@ -113,23 +114,29 @@ const getInitialParameters = (workflow: WorkflowApiResponse) => {
/**
* Attempt to construct a valid code key value from the workflow parameters.
*/
const constructCacheKeyValue = (
codeKey: string,
workflow?: WorkflowApiResponse,
) => {
const constructCacheKeyValue = (opts: {
codeKey: string;
workflow?: WorkflowApiResponse;
workflowRun?: WorkflowRunStatusApiResponse;
}) => {
const { workflow, workflowRun } = opts;
let codeKey = opts.codeKey;
if (!workflow) {
return "";
}
const workflowParameters = getInitialParameters(workflow)
.filter((p) => p.parameterType === "workflow")
.reduce(
(acc, parameter) => {
acc[parameter.key] = parameter.defaultValue;
return acc;
},
{} as Record<string, unknown>,
);
const workflowParameters = workflowRun
? workflowRun?.parameters ?? {}
: getInitialParameters(workflow)
.filter((p) => p.parameterType === "workflow")
.reduce(
(acc, parameter) => {
acc[parameter.key] = parameter.defaultValue;
return acc;
},
{} as Record<string, unknown>,
);
for (const [name, value] of Object.entries(workflowParameters)) {
if (value === null || value === undefined || value === "") {