feat(misc): skills import, MCP modal, workmark, dispatch modals, collapsed tasks and workflows manipulation, README#3777
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
PR SummaryMedium Risk Overview Reworks chat/task APIs and UI behaviors: removes legacy rename/mark-read routes and introduces a consolidated mothership chat endpoint ( Improves credentials/integrations & MCP creation UX: integrations manager gets a two-step “connect integration” flow with scope display, available-integrations list, and uses Sidebar/settings polish: adds richer collapsed sidebar flyouts (primary actions, inline rename helper, hover menu locking) and extends context menus with mark read/unread and optional delete; settings navigation adds Written by Cursor Bugbot for commit f475ae9. Configure here. |
...orkspace/[workspaceId]/w/components/sidebar/components/settings-sidebar/settings-sidebar.tsx
Show resolved
Hide resolved
...orkspace/[workspaceId]/w/components/sidebar/components/settings-sidebar/settings-sidebar.tsx
Outdated
Show resolved
Hide resolved
Greptile SummaryThis PR is a broad feature drop covering six main areas: skill import (file/ZIP/GitHub/paste), an inline MCP server creation modal in the deploy panel, a Confidence Score: 4/5Safe to merge; all previously flagged blocking issues are resolved and remaining comments are non-blocking UX/style suggestions. The PR addresses every prior P0/P1 concern (CRLF, ZIP bomb, double-save race, isUnread silent-discard). The new additions are well-structured with proper error handling, auth guards, and optimistic updates. The only open issues are a missing Cancel button on the skill import tab (cosmetic), an undocumented no-op delete handler in the collapsed workflow context menu (technical debt), and a non-null assertion that could be an explicit guard. None of these block correctness or security. apps/sim/app/workspace/[workspaceId]/settings/components/skills/components/skill-modal.tsx (Cancel button on Import tab), apps/sim/app/workspace/[workspaceId]/settings/components/skills/components/utils.ts (non-null assertion) Important Files Changed
Sequence DiagramsequenceDiagram
participant U as User
participant SI as SkillImport (client)
participant SR as /api/skills/import
participant GH as GitHub (raw.githubusercontent.com)
participant SM as SkillModal
Note over U,SM: GitHub URL import path
U->>SI: Enter GitHub URL + click Fetch
SI->>SR: POST /api/skills/import { url }
SR->>SR: toRawGitHubUrl() - rewrite blob to raw URL
SR->>GH: GET raw file (timeout 15s, Accept: text/plain)
GH-->>SR: file content
SR->>SR: Check content-length and content.length <= 100KB
SR-->>SI: { content }
SI->>SI: parseSkillMarkdown(content)
SI->>SM: onImport({ name, description, content })
SM->>SM: setActiveTab('create') - switch to edit form
Note over U,SM: File / ZIP drop path
U->>SI: Drop .md or .zip file
SI->>SI: isAcceptedFile() + size check (ZIP <= 5MB)
SI->>SI: extractSkillFromZip() or file.text()
SI->>SI: parseSkillMarkdown()
SI->>SM: onImport({ name, description, content })
Reviews (4): Last reviewed commit: "fix(skills): normalize CRLF line endings..." | Re-trigger Greptile |
apps/sim/app/workspace/[workspaceId]/settings/components/skills/components/skill-import.tsx
Show resolved
Hide resolved
…rovements - Add skills import functionality (route + components + utils) - Update MCP deploy modal - Add Wordmark emcn icon + logo SVG assets - Improve tool-input component - Update README branding to new wordmark - Add ban-spam-accounts admin script
- Add BUILT_IN_TOOL_TYPES export to blocks/utils.ts (was removed from tool-input.tsx but never added to the new import target — caused build error "Export BUILT_IN_TOOL_TYPES doesn't exist in target module") - Export Wordmark from emcn icons barrel (index.ts) - Derive isDragging from dragCounter in skill-import.tsx instead of maintaining redundant state that could desync - Replace manual AbortController/setTimeout with AbortSignal.timeout() in skills import API route (Node 17.3+ supported, cleaner no-cleanup) - Use useId() for SVG gradient ID in wordmark.tsx to prevent duplicate ID collisions if rendered multiple times on the same page
- Fix comment: default pattern is @vapu.xyz, not @sharebot.net - Replace per-user stats loop with a single aggregated JOIN query
- Show Wordmark (icon + text) in the expanded sidebar instead of the bare Sim icon; collapsed state keeps the small Sim icon unchanged - Untrack scripts/ban-spam-accounts.ts (gitignored; one-off script) - Credential selector: open OAuthRequiredModal inline instead of navigating to Settings → Integrations (matches MCP/tool-input pattern) - Credential selector: update billing import from getSubscriptionAccessState to getSubscriptionStatus; drop writePendingCredentialCreateRequest and useSettingsNavigation dependencies
- settings-sidebar: use getSubscriptionAccessState instead of getSubscriptionStatus so billingBlocked and status validity are checked; add requiresMax gating so max-plan-only nav items (inbox) are hidden for lower-tier users - credential-selector: same getSubscriptionAccessState migration for credential sets visibility check - mothership chats PATCH: change else if to if for isUnread so both title and isUnread can be updated in a single request - skills import: check Content-Length header before reading response body to avoid loading oversized files into memory
25bf4d7 to
427145b
Compare
Checks file.size > 5 MB before calling extractSkillFromZip to prevent zip bombs from exhausting browser memory at the client-side upload path.
Sim Mailer (requiresMax) and Email Polling (requiresTeam) now always appear in the settings sidebar when billing is enabled and the deployment is hosted. If the user lacks the required plan they see a small MAX / TEAM badge next to the label and are taken to the page which already contains the upgrade prompt. Enterprise (Access Control, SSO) and Team management stay hard-hidden for lower tiers. Admin/superuser items stay truly hidden.
…y mailer max gate
…ements - Move Enterprise plan card into the plan grid (auto-fit columns) instead of a separate standalone section below billing details - Refactor billing details section: remove outer border/background, separate each row with top border + padding for cleaner separation - Update button variants: Add Credits → active, Invoices → active
|
@greptile |
|
@cursor review |
…read are patched together Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
apps/sim/app/workspace/[workspaceId]/w/components/sidebar/hooks/use-flyout-inline-rename.ts
Show resolved
Hide resolved
…er+blur Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
@greptile |
|
@cursor review |
apps/sim/app/workspace/[workspaceId]/settings/components/skills/components/utils.ts
Show resolved
Hide resolved
…tmatter Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
@greptile |
Summary
Type of Change
Testing
Tested manually
Checklist