-
Notifications
You must be signed in to change notification settings - Fork 3.2k
fix(custom-tools): add composite index on custom tool names & workspace id #2131
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
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
Greptile OverviewGreptile SummaryThis PR adds a composite unique index on Critical Issue Found:
Major Changes:
Recommendation: The ID migration strategy needs revision to handle the transition period where old IDs may still be in use, or ensure all references to old IDs are updated before deploying this change. Confidence Score: 1/5
Important Files ChangedFile Analysis
Sequence DiagramsequenceDiagram
participant WF as Workflow State
participant CPT as custom-tools-persistence.ts
participant OPS as operations.ts
participant DB as Database (custom_tools)
Note over DB: Migration 0113 runs:<br/>function-name IDs → UUIDs
WF->>CPT: Save workflow with custom tools
CPT->>CPT: extractCustomToolsFromWorkflowState()
CPT->>CPT: Filter tools with function.name
CPT->>OPS: upsertCustomTools({tools, workspaceId})
Note over OPS: tool.id = toolId (may be old function name)
alt tool.id exists
OPS->>DB: SELECT by id + workspaceId
alt Found (UUID matches)
OPS->>DB: UPDATE tool
DB-->>OPS: Success
else Not found (old function name)
OPS->>DB: SELECT legacy tool (no workspaceId)
alt Legacy found
OPS->>DB: UPDATE legacy tool
DB-->>OPS: Success
else Not found anywhere
OPS->>DB: SELECT by workspaceId + title
alt Duplicate title exists
OPS-->>CPT: Error: duplicate title
Note over OPS,CPT: ⚠️ BREAKS HERE<br/>Can't update migrated tool!
else No duplicate
OPS->>DB: INSERT new tool (nanoid)
DB-->>OPS: Success
end
end
end
else No tool.id
OPS->>DB: SELECT by workspaceId + title
alt Duplicate exists
OPS-->>CPT: Error: duplicate title
else No duplicate
OPS->>DB: INSERT new tool (nanoid)
DB-->>OPS: Success
end
end
OPS->>DB: SELECT all workspace tools
DB-->>OPS: Return tools
OPS-->>CPT: Return result
CPT-->>WF: Persistence complete
|
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.
6 files reviewed, 2 comments
…pylon, intercom, mailchimp, loading optimizations (#2132) * fix(memory-util): fixed unbounded array of gmail/outlook pollers causing high memory util, added missing db indexes/removed unused ones, auto-disable schedules/webhooks after 10 consecutive failures (#2115) * fix(memory-util): fixed unbounded array of gmail/outlook pollers causing high memory util, added missing db indexes/removed unused ones, auto-disable schedules/webhooks after 10 consecutive failures * ack PR comments * ack * improvement(teams-plan): seats increase simplification + not triggering checkout session (#2117) * improvement(teams-plan): seats increase simplification + not triggering checkout session * cleanup via helper * feat(tools): added sentry, incidentio, and posthog tools (#2116) * feat(tools): added sentry, incidentio, and posthog tools * update docs * fixed docs to use native fumadocs for llms.txt and copy markdown, fixed tool issues * cleanup * enhance error extractor, fixed posthog tools * docs enhancements, cleanup * added more incident io ops, remove zustand/shallow in favor of zustand/react/shallow * fix type errors * remove unnecessary comments * added vllm to docs * feat(i18n): update translations (#2120) * feat(i18n): update translations * fix build --------- Co-authored-by: waleedlatif1 <waleedlatif1@users.noreply.github.com> * improvement(workflow-execution): perf improvements to passing workflow state + decrypted env vars (#2119) * improvement(execution): load workflow state once instead of 2-3 times * decrypt only in get helper * remove comments * remove comments * feat(models): host google gemini models (#2122) * feat(models): host google gemini models * remove unused primary key * feat(i18n): update translations (#2123) Co-authored-by: waleedlatif1 <waleedlatif1@users.noreply.github.com> * feat(tools): added zendesk, pylon, intercom, & mailchimp (#2126) * feat(tools): added zendesk, pylon, intercom, & mailchimp * finish zendesk and pylon * updated docs * feat(i18n): update translations (#2129) * feat(i18n): update translations * fixed build --------- Co-authored-by: waleedlatif1 <waleedlatif1@users.noreply.github.com> * fix(permissions): add client-side permissions validation to prevent unauthorized actions, upgraded custom tool modal (#2130) * fix(permissions): add client-side permissions validation to prevent unauthorized actions, upgraded custom tool modal * fix failing test * fix test * cleanup * fix(custom-tools): add composite index on custom tool names & workspace id (#2131) --------- Co-authored-by: Vikhyath Mondreti <vikhyathvikku@gmail.com> Co-authored-by: waleedlatif1 <waleedlatif1@users.noreply.github.com>
Summary
Type of Change
Testing
Tested manually
Checklist