-
Notifications
You must be signed in to change notification settings - Fork 3k
fix(autofill): add dummy inputs to prevent browser autofill for various fields, prevent having 0 workflows in workspace #2482
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…us fields, prevent having 0 workflows in workspace
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
Greptile SummaryThis PR implements two key improvements: preventing browser autofill on various input fields and ensuring workspaces always have at least one workflow. Key Changes:
Previous Review Comments Addressed:
Confidence Score: 5/5
Important Files Changed
Sequence DiagramsequenceDiagram
participant User
participant WorkflowItem as Workflow Item Component
participant FolderItem as Folder Item Component
participant useCanDelete as useCanDelete Hook
participant WorkflowAPI as Workflow API
participant FolderAPI as Folder API
participant DB as Database
Note over User,DB: Frontend Validation Layer
User->>WorkflowItem: Click delete on workflow
WorkflowItem->>useCanDelete: canDeleteWorkflows([workflowId])
useCanDelete->>useCanDelete: Check totalWorkflows > 0
useCanDelete->>useCanDelete: Check workflowsToDelete < totalWorkflows
useCanDelete-->>WorkflowItem: return canDelete (true/false)
alt canDelete = false
WorkflowItem->>WorkflowItem: Disable delete button
WorkflowItem-->>User: Button disabled (visual feedback)
else canDelete = true
WorkflowItem-->>User: Button enabled
end
User->>FolderItem: Click delete on folder
FolderItem->>useCanDelete: canDeleteFolder(folderId)
useCanDelete->>useCanDelete: countWorkflowsInFolder(folderId)
useCanDelete->>useCanDelete: Check workflowsInFolder < totalWorkflows
useCanDelete-->>FolderItem: return canDelete (true/false)
alt canDelete = false
FolderItem->>FolderItem: Disable delete button
FolderItem-->>User: Button disabled (visual feedback)
else canDelete = true
FolderItem-->>User: Button enabled
end
Note over User,DB: Backend Validation Layer
User->>WorkflowAPI: DELETE /api/workflows/[id]
WorkflowAPI->>DB: SELECT workflows WHERE workspaceId
DB-->>WorkflowAPI: totalWorkflowsInWorkspace
WorkflowAPI->>WorkflowAPI: Check totalWorkflows <= 1
alt Last workflow in workspace
WorkflowAPI-->>User: 400 Error: Cannot delete only workflow
else Safe to delete
WorkflowAPI->>DB: DELETE workflow
DB-->>WorkflowAPI: Success
WorkflowAPI-->>User: 200 Success
end
User->>FolderAPI: DELETE /api/folders/[id]
FolderAPI->>DB: countWorkflowsInFolderRecursively(folderId)
DB-->>FolderAPI: workflowsInFolder
FolderAPI->>DB: SELECT workflows WHERE workspaceId
DB-->>FolderAPI: totalWorkflowsInWorkspace
FolderAPI->>FolderAPI: Check workflowsInFolder >= totalWorkflows
alt Folder contains all workflows
FolderAPI-->>User: 400 Error: Cannot delete folder with only workflows
else Safe to delete
FolderAPI->>DB: DELETE folder recursively
DB-->>FolderAPI: Success
FolderAPI-->>User: 200 Success
end
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
12 files reviewed, 3 comments
Summary
Type of Change
Testing
Tested manually
Checklist