feat: redesign workflow canvas UI w improved UX#3939
feat: redesign workflow canvas UI w improved UX#3939adithyaakrishna wants to merge 6 commits intosimstudioai:stagingfrom
Conversation
PR SummaryMedium Risk Overview Adds a floating Introduces local, persisted workflow change history ( Reviewed by Cursor Bugbot for commit e27b506. Bugbot is set up for automated code reviews on this repo. Configure here. |
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
| isOpen: state.isOpen, | ||
| setIsOpen: state.setIsOpen, | ||
| })) | ||
| ) |
There was a problem hiding this comment.
Variables button uses wrong store, modal won't open
High Severity
The WorkflowToolbar reads and writes isOpen/setIsOpen on useVariablesStore (the data store from @/stores/variables/store), but the Variables component that renders the modal reads isOpen from useVariablesModalStore (the UI modal store from @/stores/variables/modal). These are two entirely separate Zustand stores with independent isOpen state, so clicking the "Variables" button toggles the wrong store and the modal never opens.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit 476e6aa. Configure here.
.../app/workspace/[workspaceId]/w/[workflowId]/components/workflow-toolbar/workflow-toolbar.tsx
Outdated
Show resolved
Hide resolved
Greptile SummaryThis PR redesigns the workflow canvas UI with a floating toolbar (top-right), a collapsible side panel with an icon strip, animated edge flow overlays, a floating copilot input bar, and a new Key changes:
Issues found:
Confidence Score: 4/5Not safe to merge as-is — one P1 import error will crash the Export Workflow action at runtime and fail TypeScript compilation. The overall design is clean and the new stores are well-structured. However, the broken apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/workflow-actions/workflow-actions.tsx — broken import on line 37 must be fixed before merge. Important Files Changed
|
.../app/workspace/[workspaceId]/w/[workflowId]/components/workflow-actions/workflow-actions.tsx
Outdated
Show resolved
Hide resolved
.../app/workspace/[workspaceId]/w/[workflowId]/components/workflow-toolbar/workflow-toolbar.tsx
Outdated
Show resolved
Hide resolved
| const SEND_BUTTON_ACTIVE = | ||
| 'bg-[#383838] hover:bg-[#575757] dark:bg-[#E0E0E0] dark:hover:bg-[#CFCFCF]' | ||
| const SEND_BUTTON_DISABLED = 'bg-[#808080] dark:bg-[#808080]' |
There was a problem hiding this comment.
hover: used instead of hover-hover:, and hardcoded hex values
Two issues on these constants:
-
SEND_BUTTON_ACTIVEuseshover:bg-[#575757]anddark:hover:bg-[#CFCFCF]. Throughout the rest of the codebase (panel.tsx,workflow-toolbar.tsx,workflow-history.tsx, etc.) the project exclusively uses thehover-hover:media-query variant to avoid hover states activating on touch devices. Usinghover:here is inconsistent and will fire on touch screens. -
The hex colors (
#383838,#575757,#E0E0E0,#808080) are hardcoded rather than referencing CSS custom properties, breaking the design-token system used everywhere else.
Consider replacing with hover-hover: variants and mapping to the nearest design tokens (e.g. bg-[var(--surface-5)], hover-hover:bg-[var(--surface-6)]).
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
There are 2 total unresolved issues (including 1 from previous review).
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 3db31a4. Configure here.


Summary
Type of Change
Testing
Checklist