fix(workflow): rename the trigger step through the dedicated mutation (#23450)

## Bug

Renaming the **trigger** step from the workflow side panel fails with:

> Updating a workflowVersion through the generic mutation is restricted.
steps, trigger, status, position, workflowId and coreWorkflowVersionId
cannot be changed...

Renaming a **regular** step works, which is why this is easy to miss:
only the trigger branch is broken.

## Cause

This is a regression from #23207. That PR added the server-side denylist
on `updateOneWorkflowVersion` and switched
`useUpdateWorkflowVersionTrigger` to the dedicated
`updateWorkflowVersionTrigger` mutation, but missed the call site in
`SidePanelWorkflowStepInfo`, which still did:

```ts
if (isTrigger) {
  await updateOneWorkflowVersion({          // generic mutation, sends `trigger`
    updateOneRecordInput: { trigger: { ...stepDefinition.definition, name: title } },
  });
} else {
  await updateWorkflowVersionStep({ ... }); // dedicated, unaffected
}
```

The observed request confirms it: `UpdateOneWorkflowVersion` with
`input.trigger`.

## Fix

Route the trigger branch through `updateTrigger`, which already resolves
the draft version, calls the dedicated mutation, marks the step for
recomputation and updates the cache.

`useUpdateWorkflowVersionTrigger` now accepts an **optional**
`instanceId`. This matters here: the side panel computes the visualizer
instance id explicitly (it already passes it to
`useGetUpdatableWorkflowVersionOrThrow`), and without it the hook would
resolve the updatable version from a different component instance. Being
optional, the four existing callers are unaffected.

Also removes the now-redundant `getUpdatableWorkflowVersion()` call on
the trigger path, so a rename no longer risks resolving the draft twice.

## Verification

- `nx typecheck twenty-front` green
- `oxfmt` + `oxlint --type-aware` green on both changed files
- `useUpdateWorkflowVersionTrigger` unit tests green (2/2)
- Not yet clicked through locally; the reporter hit this on a dev
instance and can confirm the rename now succeeds

<!-- This is an auto-generated description by cubic. -->
<a
href="https://cubic.dev/pr/twentyhq/twenty/pull/23450?utm_source=github"
target="_blank" rel="noopener noreferrer"
data-no-image-dialog="true"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"><source
media="(prefers-color-scheme: light)"
srcset="https://www.cubic.dev/buttons/review-in-cubic-light.svg"><img
alt="Review in cubic"
src="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"></picture></a>
<!-- End of auto-generated description by cubic. -->
This commit is contained in:
Thomas Trompette
2026-07-28 19:23:22 +02:00
committed by GitHub
parent 9acc5c192f
commit b6a4c635ee
2 changed files with 9 additions and 15 deletions
@@ -21,14 +21,14 @@ import {
type UpdateWorkflowVersionTriggerMutationVariables,
} from '~/generated/graphql';
export const useUpdateWorkflowVersionTrigger = () => {
export const useUpdateWorkflowVersionTrigger = (instanceId?: string) => {
const apolloCoreClient = useApolloCoreClient();
const { objectMetadataItems } = useObjectMetadataItems();
const { objectPermissionsByObjectMetadataId } = useObjectPermissions();
const { enqueueErrorSnackBar } = useSnackBar();
const { getUpdatableWorkflowVersion } =
useGetUpdatableWorkflowVersionOrThrow();
useGetUpdatableWorkflowVersionOrThrow(instanceId);
const { markStepForRecomputation } = useStepsOutputSchema();