-
Notifications
You must be signed in to change notification settings - Fork 3.3k
fix(permissions): add client-side permissions validation to prevent unauthorized actions, upgraded custom tool modal #2130
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
…nauthorized actions, upgraded custom tool modal
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
Greptile OverviewGreptile SummaryThis PR adds client-side permissions validation to prevent unauthorized actions and improves the custom tool modal UX. Key Changes:
Confidence Score: 5/5
Important Files ChangedFile Analysis
Sequence DiagramsequenceDiagram
participant User
participant UI as UI Component
participant Permissions as Permission System
participant ContextMenu
participant API as Custom Tools API
Note over User,API: Client-Side Permission Validation Flow
User->>UI: Attempt workspace action (rename/duplicate/export/delete)
UI->>Permissions: Check userPermissions.canEdit/canAdmin
alt Has Permission
Permissions-->>UI: Permission granted
UI->>ContextMenu: Enable menu item
User->>ContextMenu: Click action
ContextMenu->>API: Execute action
API-->>User: Action successful
else No Permission
Permissions-->>UI: Permission denied
UI->>ContextMenu: Disable menu item (disabled=true)
Note over User,ContextMenu: Menu item appears grayed out
User->>ContextMenu: Click disabled item
ContextMenu->>ContextMenu: Check if disabled before executing
ContextMenu-->>User: No action (prevented client-side)
end
Note over User,API: Custom Tool Modal Enhancement Flow
User->>UI: Open custom tool modal
UI->>User: Display improved UI with syntax highlighting
User->>UI: Request AI generation (wand button)
UI->>API: Generate code with improved prompts
API-->>UI: Return generated code
UI->>User: Display with better formatting
User->>UI: Submit invalid tool
UI->>API: Attempt save
API-->>UI: Return specific error message
UI->>User: Display detailed error (e.g., "Cannot change function name")
|
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.
10 files reviewed, 1 comment
...nts/editor/components/sub-block/components/tool-input/components/code-editor/code-editor.tsx
Outdated
Show resolved
Hide resolved
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.
10 files reviewed, no 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>
…nauthorized actions, upgraded custom tool modal (simstudioai#2130) * fix(permissions): add client-side permissions validation to prevent unauthorized actions, upgraded custom tool modal * fix failing test * fix test * cleanup
Summary
Type of Change
Testing
Tested manually
Checklist