fix(custom-tools): remove unsafe title fallback in getCustomTool#2929
fix(custom-tools): remove unsafe title fallback in getCustomTool#2929waleedlatif1 merged 2 commits intostagingfrom
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
Greptile SummaryThis PR restores title-based lookup in The implementation combines ID and title matching into a single Note: The PR title says "remove unsafe title fallback" but the actual change restores it. The commit message correctly describes this as restoring the title lookup. Confidence Score: 4/5
Important Files Changed
Sequence DiagramsequenceDiagram
participant Client as Client Code
participant Utils as tools/utils.ts
participant Query as custom-tools.ts
participant Cache as React Query Cache
participant DB as Database
Client->>Utils: getTool("custom_myTool")
Utils->>Utils: Extract identifier = "myTool"
Utils->>Query: getCustomTool("myTool")
Query->>Query: Extract workspaceId from URL
Query->>Cache: getQueryData(workspaceId)
alt Cache Hit
Cache-->>Query: Return cached tools[]
Query->>Query: find(tool => tool.id === "myTool" || tool.title === "myTool")
Query-->>Utils: Return matching tool
Utils-->>Client: Return ToolConfig
else Cache Miss
Cache-->>Query: Return undefined/empty
Query-->>Utils: Return undefined
Utils-->>Client: Return undefined
end
Note over Query,DB: Title is unique per workspace<br/>(custom_tools_workspace_title_unique)
|
Custom tools are referenced by title (custom_${title}), not database ID.
The title fallback is required for client-side tool resolution to work.
|
@greptile |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
* fix(zustand): updated to useShallow from deprecated createWithEqualityFn (#2919) * fix(logger): use direct env access for webpack inlining (#2920) * fix(notifications): text overflow with line-clamp (#2921) * chore(helm): add env vars for Vertex AI, orgs, and telemetry (#2922) * fix(auth): improve reset password flow and consolidate brand detection (#2924) * fix(auth): improve reset password flow and consolidate brand detection * fix(auth): set errorHandled for EMAIL_NOT_VERIFIED to prevent duplicate error * fix(auth): clear success message on login errors * chore(auth): fix import order per lint * fix(action-bar): duplicate subflows with children (#2923) * fix(action-bar): duplicate subflows with children * fix(action-bar): add validateTriggerPaste for subflow duplicate * fix(resolver): agent response format, input formats, root level (#2925) * fix(resolvers): agent response format, input formats, root level * fix response block initial seeding * fix tests * fix(messages-input): fix cursor alignment and auto-resize with overlay (#2926) * fix(messages-input): fix cursor alignment and auto-resize with overlay * fixed remaining zustand warnings * fix(stores): remove dead code causing log spam on startup (#2927) * fix(stores): remove dead code causing log spam on startup * fix(stores): replace custom tools zustand store with react query cache * improvement(ui): use BrandedButton and BrandedLink components (#2930) - Refactor auth forms to use BrandedButton component - Add BrandedLink component for changelog page - Reduce code duplication in login, signup, reset-password forms - Update star count default value * fix(custom-tools): remove unsafe title fallback in getCustomTool (#2929) * fix(custom-tools): remove unsafe title fallback in getCustomTool * fix(custom-tools): restore title fallback in getCustomTool lookup Custom tools are referenced by title (custom_${title}), not database ID. The title fallback is required for client-side tool resolution to work. * fix(null-bodies): empty bodies handling (#2931) * fix(null-statuses): empty bodies handling * address bugbot comment * fix(token-refresh): microsoft, notion, x, linear (#2933) * fix(microsoft): proactive refresh needed * fix(x): missing token refresh flag * notion and linear missing flag too * address bugbot comment * fix(auth): handle EMAIL_NOT_VERIFIED in onError callback (#2932) * fix(auth): handle EMAIL_NOT_VERIFIED in onError callback * refactor(auth): extract redirectToVerify helper to reduce duplication * fix(workflow-selector): use dedicated selector for workflow dropdown (#2934) * feat(workflow-block): preview (#2935) * improvement(copilot): tool configs to show nested props (#2936) * fix(auth): add genericOAuth providers to trustedProviders (#2937) --------- Co-authored-by: Vikhyath Mondreti <vikhyathvikku@gmail.com> Co-authored-by: Emir Karabeg <78010029+emir-karabeg@users.noreply.github.com>
Summary
getCustomToolthat could return wrong tool if titles collideType of Change
Testing
Checklist