improvement(deploy): improve auto-generated version descriptions#4075
improvement(deploy): improve auto-generated version descriptions#4075waleedlatif1 merged 3 commits intostagingfrom
Conversation
PR SummaryMedium Risk Overview Diff summaries now include detailed connection (edge) add/remove lines with block names (capped to 3 details) and variable add/remove/modify lists using variable names; block Reviewed by Cursor Bugbot for commit 4040a25. Configure here. |
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
Greptile SummaryThis PR improves auto-generated deploy version descriptions by resolving raw subBlock IDs to human-readable titles, resolving dropdown option IDs to labels, surfacing granular per-key data diffs instead of an opaque Confidence Score: 5/5Safe to merge — improvements are additive display-layer changes with no effect on workflow execution or data integrity. All findings are P2 style suggestions (no- format-description.test.ts — two
|
| Filename | Overview |
|---|---|
| apps/sim/lib/workflows/comparison/compare.ts | Core diff generation and formatting logic; adds edge/variable name resolution, .properties filtering, and extracts helper functions — well-structured and consistent. |
| apps/sim/lib/workflows/comparison/resolve-values.ts | Adds resolveFieldLabel export and resolveDropdownLabel helper; removes unnecessary optional-chaining after guard clauses; dropdown fallback now properly logged via logger.warn. |
| apps/sim/lib/workflows/comparison/format-description.test.ts | 35 new tests covering field resolution, filtering, async path, and end-to-end diff scenarios; two test cases use as any for mock state, which violates the project no-any rule. |
| apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/deploy/components/deploy-modal/components/general/components/version-description-modal.tsx | Single-line change: modal size bumped from md to lg to accommodate richer diff descriptions. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[generateWorkflowDiffSummary] --> B{First deployment?}
B -- Yes --> C[Collect all edges with block names\nCollect all variable names]
B -- No --> D[Diff blocks, subBlocks, data fields]
D --> E[Diff edges → addedDetails / removedDetails]
D --> F[Diff variables → addedNames / removedNames / modifiedNames]
D --> G[Filter .properties fields]
C & E & F & G --> H[WorkflowDiffSummary]
H --> I{Async or sync?}
I -- Sync --> J[formatDiffSummaryForDescription]
I -- Async --> K[formatDiffSummaryForDescriptionAsync\nresolves dropdown labels / credentials]
J --> L[resolveFieldLabel\ndata.* → Title Case\nsubBlock ID → config title]
K --> L
J --> M[formatEdgeChanges\nformatCountChanges\nformatVariableChanges]
K --> M
M --> N[Human-readable deploy description]
Reviews (2): Last reviewed commit: "lint" | Re-trigger Greptile
| try { | ||
| const label = resolveDropdownLabel(subBlockConfig, value) | ||
| if (label) { | ||
| return { original: value, displayLabel: label, resolved: true } | ||
| } | ||
| } catch {} | ||
| } |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
There was a problem hiding this comment.
Good catch — replaced the empty catch {} with a logger.warn so dropdown resolution failures are observable. Fixed in a731fa1.
|
Addressed both Greptile findings in a731fa1:
|
|
@greptile |
|
@cursor review |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 4040a25. Configure here.
Summary
systemPrompt→ "System Prompt")calendly_get_current_user→ "Get Current User")datablob changes.propertiesmetadata changesType of Change
Testing
hasWorkflowChangedorgenerateWorkflowDiffSummaryChecklist