Stable version 1.0#70
Merged
Merged
Conversation
Introduces a select mode feature with a new SelectModeInjector, enabling element selection, box model visualization, and computed style inspection in sandboxed components. Updates the webview and extension to support select mode toggling, message passing, and opening source files with selection highlighting in the editor.
Introduces ComputedStyleValues to capture actual pixel values from the browser after CSS calculations (e.g., clamp, calc, rem). Updates the style inspector panel to prioritize these resolved values for display, and extends the orchestrator to fetch and include them in ElementStyleInfo. This improves accuracy and fidelity in the Design tab by showing the true rendered values.
Component select mode
Introduces a new 'Local Folder' import option that allows users to select a folder and import all recognized component files (.tsx, .jsx, .vue, .svelte) as separate components. The implementation includes folder scanning (non-recursive), user notifications for import results, and updates to the import dialog options.
Introduces clear() methods to canvas, component, and project storage services, allowing them to reset state when the workspace is closed or changed. Startup contribution now listens for workspace folder changes and re-initializes or clears services as needed. Also disables auto-restore of last active canvas on extension activation and improves logging for service initialization and state changes.
Set the BUILD_SOURCEVERSION environment variable to the current GitHub SHA in Linux, macOS, and Windows build steps. This enables builds to reference the exact source version used, improving traceability and reproducibility + Enable Updates
Enhances the construction of the update cache path by including the application name and providing default values for quality and target. Adds error handling when setting the update cache path, logging errors and disabling updates if configuration is invalid.
Dio roo rebase
Introduces new debug proxy configuration options and descriptions in all supported languages. Updates extension branding from 'Dio' to 'Roo Code' throughout the English resource file and related settings descriptions.
Added the roopik Dio extension to marketplace
Update Linux, macOS, and Windows build workflows to use the commit hash as the 'version' field in the update JSON for update comparison. This ensures accurate update detection based on code changes.
Enhances the build workflow to better locate the .app bundle and fall back to package.json for versioning if needed. In the update service, logs a warning instead of an error when setting the update feed URL fails, and returns the URL to ensure the 'Check for Updates' button remains available.
Refactors MCP server service to support both HTTP and WebSocket transports, adds robust extension folder scanning for agent binaries, and improves agent registration via a unified installer. Updates include new utility functions for extension discovery, improved command building, and more reliable handling of agent integration settings and status events.
Added support for STDIO MCP for external agents
Introduces steps in Linux, macOS, and Windows GitHub Actions workflows to build and package the MCP STDIO server binary for each platform using pkg. The binaries are output to the resources/mcp-binaries directory for use in application builds.
Added the appropriate roopik-mcp binary for each platform (Windows, Linux, macOS) to the packageTask in the build process. This ensures the correct binary is bundled with each platform's build.
Adds environment variable token authentication to the Roopik MCP WebSocket server and STDIO bridge. Only processes launched from the Roopik IDE process tree (with ROOPIK_MCP_TOKEN set) can connect, preventing external IDEs from accessing Roopik's MCP tools. Includes token generation in the main process, validation in the WebSocket server, and handshake/error handling in the STDIO bridge.
Introduces two new browser tools: browser_set_viewport for setting or clearing the browser viewport size using CDP, and browser_get_network_requests for retrieving captured network requests and responses. Updates tool routing, type definitions, documentation, and tool registration to support these features. Also replaces browser_get_cdp_info with browser_get_state for improved browser state reporting.
Introduces src/vs/workbench/contrib/roopik/electron-main/mcp/toolSchemas.ts as the single source of truth for MCP tool schemas using Zod. Refactors browserTools.ts and mcpRequestRouter.ts to use these shared definitions, updates network request and viewport tools for more flexible filtering and override clearing, and adds a sync-schemas script to copy schemas to the STDIO binary. Updates build scripts to ensure schemas are synced before building binaries, ensuring DRY and consistent tool definitions across all MCP interfaces.
Introduce unified tool service implementations used by both WebSocket MCP and Native IPC: CDPMonitorService, BrowserToolService, ProjectToolService, CanvasToolService, and ComponentToolService, plus an index export file.
…ol services Refactor ToolExecutor as part of Phase 3 migration to use unified tool services from electron-main/tools. Replaces the old BrowserExecutor/CanvasExecutor/ProjectExecutor with CDPMonitorService, BrowserToolService, CanvasToolService, ComponentToolService and ProjectToolService, constructs CDPMonitorService first (used by BrowserToolService) and delegates all tool routing to these services. Keeps the storageService parameter (renamed _storageService) for backward compatibility; this file is now a thin adapter/dispatcher that forwards tool calls to the unified services.
Phase 4 migration: RoopikToolsChannel now instantiates and delegates to unified tool services (CDPMonitorService, BrowserToolService, CanvasToolService, ComponentToolService, ProjectToolService) instead of containing inlined browser/CDP/canvas logic. Many handlers (screenshot, close, action input, navigate, reload, executeScript, inspectElement, CDP APIs, viewport/network requests, project/canvas/component ops) were refactored to call the new services and responses adapted where needed. The legacy browser executor implementation was removed and MCP executor modules (browserExecutor, canvasExecutor, projectExecutor) are being consolidated into the unified tool services. This centralizes logic, reuses CDP monitoring, and simplifies the IPC channel to a thin orchestration layer.
Rename browser_get_cdp_info to browser_get_state and add two new browser tools: browser_set_viewport and browser_get_network_requests. Wire up handlers and client methods for the new tools and adjust browserOpen return type. Enhance CDPMonitorService with noise filtering, static-vs-api classification, auto-clear on page reload, network filtering/limit handling, and a compressed network summary API; add internal helpers. Update tool schemas and descriptions to expose includeStaticAssets and clarify error behavior. Include runtime error data in ComponentToolService responses and make runtime errors take precedence when computing component status. Also remove frameworkDisplayName mapping in the channel. These changes improve browser inspection, reduce noise, and provide richer component and network diagnostics for agents.
Mcp tool call revamp
Add a new IPC action 'canvas_open' to RoopikToolsChannel and implement handleOpenCanvas(args) which delegates to canvasToolService.open(args) to open a canvas by ID or name. Also update the Canvas Tools section comment numbering. This enables opening canvases via the channel.
Previously the service awaited cdpMonitorService.ensureMonitoring before navigating or reloading, which could hang if the BrowserView wasn't fully ready. This change navigates or reloads first, then starts CDP monitoring in a non-blocking way (no await) and catches errors to avoid blocking the flow. Comments were updated to explain the rationale. This ensures navigation/reload succeeds even if CDP setup fails or stalls.
Add support for exposing MCP connection info (ws port, token, binary path, running state) so external IDEs can connect. Implements a new Show MCP Connection Info command (with quick-pick and clipboard copy) and registers a getConnectionInfo IPC call. Passes session token into the MCP installer and includes --token in generated mcp_servers entries. Update stdio MCP tool to accept a --token CLI arg and enforce authentication in the WebSocket bridge (CLI token > env token). Also update contributions/settings to document the feature.
Expose MCP connection info and token
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.
It also introduces or updates configuration files for permissions, dependency updates, and several new features
Stable version 1.0