fix(custom-tools): add composite index on custom tool names & workspace id#2131
Merged
waleedlatif1 merged 1 commit intostagingfrom Nov 28, 2025
Merged
fix(custom-tools): add composite index on custom tool names & workspace id#2131waleedlatif1 merged 1 commit intostagingfrom
waleedlatif1 merged 1 commit intostagingfrom
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
Contributor
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
|
waleedlatif1
added a commit
that referenced
this pull request
Nov 29, 2025
…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 <[email protected]> * 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 <[email protected]> * 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 <[email protected]> * 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 <[email protected]> Co-authored-by: waleedlatif1 <[email protected]>
DarkShark-RAz
pushed a commit
to DarkShark-RAz/sim
that referenced
this pull request
Nov 30, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Type of Change
Testing
Tested manually
Checklist