Skip to content

Automations improvements#18456

Open
melohagan wants to merge 12 commits intomasterfrom
chore/automation-improvements
Open

Automations improvements#18456
melohagan wants to merge 12 commits intomasterfrom
chore/automation-improvements

Conversation

@melohagan
Copy link
Copy Markdown
Collaborator

@melohagan melohagan commented Apr 2, 2026

Description

  • Improves automation builder interactions for branch nodes and step selection:
    • prevents branch control clicks from being swallowed
    • closes branch context menus on pan and when panels/modals open
    • nudges the viewport on move left/right using shared spacing constants with zoom-aware offsets
    • aligns add-step keyboard navigation with the Add component panel (Tab/arrow navigation + Enter to add)
  • Normalizes automation trigger and step title casing for consistency.

Note For the comments of the linked issue, In Progress is tackled in this PR. Solved were already fixed.

Also, the Data In/Out points are TODO as more thought needs to be put into how to handle that.

Addresses

Launchcontrol

  • Improves automation builder usability by making branch menu behavior consistent and enabling keyboard-driven step insertion.

@github-actions github-actions bot added the size/m label Apr 2, 2026
@melohagan
Copy link
Copy Markdown
Collaborator Author

@cubic-dev-ai review

@cubic-dev-ai
Copy link
Copy Markdown
Contributor

cubic-dev-ai bot commented Apr 2, 2026

@cubic-dev-ai review

@melohagan I have started the AI code review. It will take a few minutes to complete.

Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 22 files

Confidence score: 4/5

  • This PR looks safe to merge with minimal risk: the reported issue is moderate-low severity (4/10) and appears scoped to keyboard handling behavior rather than core data or security paths.
  • The main risk is in packages/builder/src/components/automation/AutomationBuilder/FlowChart/SelectStepSidePanel.svelte, where a window-level keydown handler can intercept Arrow/Tab/Enter while typing in the search input, causing broken caret navigation and tab flow.
  • Pay close attention to packages/builder/src/components/automation/AutomationBuilder/FlowChart/SelectStepSidePanel.svelte - ensure key events from input elements are ignored so search field keyboard UX remains standard.
Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="packages/builder/src/components/automation/AutomationBuilder/FlowChart/SelectStepSidePanel.svelte">

<violation number="1" location="packages/builder/src/components/automation/AutomationBuilder/FlowChart/SelectStepSidePanel.svelte:372">
P2: The window-level keydown handler captures Arrow/Tab/Enter even when the focus is in the search input, which prevents caret movement and normal tabbing. Gate the handler so it ignores key events originating from inputs/textareas/contenteditable elements.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review, or fix all with cubic.

@melohagan melohagan marked this pull request as ready for review April 2, 2026 11:06
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 97c5fad0cf

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 1 file (changes from recent commits).

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="packages/builder/src/components/automation/AutomationBuilder/FlowChart/SelectStepSidePanel.svelte">

<violation number="1" location="packages/builder/src/components/automation/AutomationBuilder/FlowChart/SelectStepSidePanel.svelte:362">
P1: The selection lock is not released when an error happens after step insertion, which can leave the side panel permanently non-interactive.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review, or fix all with cubic.

Copy link
Copy Markdown
Contributor

@Dakuan Dakuan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

noice! couple nitpicks

return
}

const nodeWidth = targetNode.width || 320
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

make const

}

const nodeWidth = targetNode.width || 320
const nodeHeight = targetNode.height || 150
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

make const

const nodeWidth = targetNode.width || 320
const nodeHeight = targetNode.height || 150
const desiredZoom = zoom ?? currentViewport.zoom ?? 1
const safeZoom = Math.min(Math.max(desiredZoom, 0.4), 1)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

make const

const x = currentViewport.x - direction * xStride
setViewport(
{ x, y: currentViewport.y, zoom: safeZoom },
{ duration: 180 }
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

make const

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants