From f09aae244e2b71d8b98d65e08f476ad3cf69a0cc Mon Sep 17 00:00:00 2001 From: Taylor Ho Date: Thu, 20 Aug 2026 16:29:26 -0700 Subject: [PATCH 01/20] feat(workflows): insert variables into message steps Co-authored-by: Rizz <302abe414ca6e3134763d2539bfcf145aea2a63fe5f8455204ed602fd40cf381@buzz.block.builderlab.xyz> Signed-off-by: Taylor Ho --- .../workflows/ui/WorkflowFormBuilder.tsx | 4 + .../workflows/ui/WorkflowStepCard.tsx | 14 +- .../workflows/ui/WorkflowTemplateTextarea.tsx | 188 ++++++++++++++++++ .../ui/workflowTemplateVariables.test.mjs | 87 ++++++++ .../workflows/ui/workflowTemplateVariables.ts | 147 ++++++++++++++ .../tests/e2e/workflow-local-controls.spec.ts | 52 +++++ ...ate-variable-autocomplete-smoke-darwin.png | Bin 0 -> 103499 bytes 7 files changed, 488 insertions(+), 4 deletions(-) create mode 100644 desktop/src/features/workflows/ui/WorkflowTemplateTextarea.tsx create mode 100644 desktop/src/features/workflows/ui/workflowTemplateVariables.test.mjs create mode 100644 desktop/src/features/workflows/ui/workflowTemplateVariables.ts create mode 100644 desktop/tests/e2e/workflow-local-controls.spec.ts-snapshots/workflow-template-variable-autocomplete-smoke-darwin.png diff --git a/desktop/src/features/workflows/ui/WorkflowFormBuilder.tsx b/desktop/src/features/workflows/ui/WorkflowFormBuilder.tsx index 9a525591eb2..f5c665603a9 100644 --- a/desktop/src/features/workflows/ui/WorkflowFormBuilder.tsx +++ b/desktop/src/features/workflows/ui/WorkflowFormBuilder.tsx @@ -858,6 +858,10 @@ export const WorkflowFormBuilder = React.forwardRef< onUpdate={(updated) => updateStep(selectedStepIndex, updated) } + previousSteps={formState.steps.slice( + 0, + selectedStepIndex, + )} showHeader={false} step={selectedStep} triggerType={formState.trigger.on} diff --git a/desktop/src/features/workflows/ui/WorkflowStepCard.tsx b/desktop/src/features/workflows/ui/WorkflowStepCard.tsx index 20c6d4dad33..539edf2ba93 100644 --- a/desktop/src/features/workflows/ui/WorkflowStepCard.tsx +++ b/desktop/src/features/workflows/ui/WorkflowStepCard.tsx @@ -6,6 +6,7 @@ import { Button } from "@/shared/ui/button"; import { Checkbox } from "@/shared/ui/checkbox"; import { Input } from "@/shared/ui/input"; import { Textarea } from "@/shared/ui/textarea"; +import { WorkflowTemplateTextarea } from "./WorkflowTemplateTextarea"; import { WorkflowDurationField } from "./WorkflowDurationField"; import { WorkflowMessageTextCondition } from "./WorkflowMessageTextConditionEditor"; import { FieldLabel, FormSelect } from "./workflowFormPrimitives"; @@ -109,6 +110,7 @@ function StepConfigFields({ step, prefix, disabled, + previousSteps, triggerType, workflowChannelId, onUpdate, @@ -116,6 +118,7 @@ function StepConfigFields({ step: StepFormState; prefix: string; disabled?: boolean; + previousSteps: StepFormState[]; triggerType: TriggerType; workflowChannelId?: string | null; onUpdate: (step: StepFormState) => void; @@ -142,15 +145,15 @@ function StepConfigFields({
Message text -