You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Forwarded SSE Events: Direct SSE connection from webview to OpenCode CLI, bypassing extension host for event processing — reduces latency and improves session status, permission request, and error propagation.
RuntimeReloadService: New deferred reload mechanism with session-aware lifecycle, enabling safe configuration-dependent restarts without disrupting active sessions.
PrimeCode Configuration Management: Persistent state management via primecode.json with schema-driven validation (Zod), atomic file writes to prevent corruption, and caching layer.
Server Management in ChatProvider: Managed runtime restart, health monitoring, and connection/disconnection state tracking in CLIExecutor and ChatProvider.
Proxy Provider Synchronization: Enhanced provider config synchronization across ConfigFileWatcherService, OpenCodeClientService, and ProviderHandler.
Permission & Auto-Respond Refactor: Streamlined permission handling in OpenCodeExecutor and ToolHandler with improved auto-respond logic and test coverage.
Performance & UI
ScrollContainer Optimization: Replaced MutationObserver + polling with ResizeObserver for layout-aware scroll behavior — eliminates forced reflows during token streaming.
SettingsPage Rendering Fix: Colocated apiKeyInput state to prevent full panel re-renders on keystroke; replaced JS-based ResizeObserver with CSS Container Queries.
MessageItem Re-render Reduction: SimpleToolGroup now queries parts statically from Zustand store instead of recursive re-renders of all tool groups during streaming.
Chat Input Latency: Zustand store actions skip deep Immer mutations on keystroke events, significantly reducing typing lag.
App Exit Transitions Removed: Disabled AnimatePresence to prevent concurrent rendering of two heavy message lists during session switches.
React Compiler: Babel plugin for React Compiler enabled in Vite config; wdyr.ts removed.
Robustness
Background Process Teardown: Process group targeting on Unix/macOS for zero zombie daemon processes on extension deactivation.
Config File Watcher Fixes: Workspace watcher lifecycle corrections to prevent memory leaks during folder changes.
Safe Config Writes: Atomic file writes protect against corruption and Windows file-locking conflicts.
Session Status Enhancements: Improved session status propagation, error handling, and reconnect stability.
Refactoring
Code cleanup across common/, core/, webview/ — removed dead exports, unused schemas (normalizedTypes.ts, proxyEndpoints.ts), unused component files, and wdyr.ts.
Consolidated tool registry and token stats utilities.
Moved volatile model selections into workspace-level state, decoupling from global config.
Chore
Switched package scripts to bun runner.
Updated dependencies (package.json, bun.lock).
Enhanced TypeScript config for webview with vite/client types.
Updated Vite configuration with Babel plugin for React Compiler.