2.0 KiB
2.0 KiB
VSCode Error Notifications for Critical Failures
Priority: P1 Status: ❌ Not started Source: JetBrains plugin analysis
Description
Critical errors (CLI binary not found, server startup failure, connection lost) are only shown inside the webview. If the webview is not visible or hasn't loaded, users get no feedback. Platform-native error notifications should be used for critical failures.
Requirements
- Show
vscode.window.showErrorMessage()when CLI binary is missing - Show
vscode.window.showErrorMessage()when server fails to start - Show
vscode.window.showWarningMessage()when SSE connection is lost (with "Retry" action) - Avoid notification spam — throttle or deduplicate repeated errors
Current State
All errors are posted to the webview as { type: "error" } messages. No vscode.window.showErrorMessage() or vscode.window.showWarningMessage() calls exist in the extension host.
The CLI binary check at ServerManager.startServer() throws an error string that is caught in KiloProvider.initializeConnection() and sent to the webview only.
Gaps
- No
vscode.window.showErrorMessage()for server startup failures - No
vscode.window.showWarningMessage()for connection loss - No actionable notifications (e.g., "Retry" button)
- Users may miss errors if webview is collapsed or not focused
Implementation Notes
// In initializeConnection() catch block:
vscode.window.showErrorMessage(`Kilo Code: Failed to start CLI server — ${error.message}`, "Retry").then((action) => {
if (action === "Retry") this.initializeConnection()
})
Files to change:
src/KiloProvider.ts— addvscode.window.showErrorMessage()calls in error pathssrc/services/cli-backend/connection-service.ts— optionally surface critical errors to callers