Release v6.6.1 - #106
Conversation
* feat(orbital): in-app extension update banner When running inside the Orbital IDE, the chat view now polls the Open VSX registry on mount and shows a banner above the composer when a newer version of the extension is available. The banner surfaces the latest version, an 'Update & Restart' action that installs the update via workbench.extensions.installExtension and reloads the window, and a retry button on failure. Progress states (downloading / installing / restarting) are reflected inline with a spinner. The check is gated to Orbital hosts (appName === 'orbital' or uriScheme === 'orbital') so VS Code installs are unaffected. * feat(orbital): extensionUpdate service module New src/services/orbital/extensionUpdate.ts exposing checkForOrbitalExtensionUpdate, installOrbitalExtensionUpdate, isOrbitalIde, and a semver-aware isNewerVersion helper that handles v-prefixed and prerelease tags. * feat(i18n): orbitalUpdate strings New chat:orbitalUpdate.* keys (available, description, updateAndRestart, downloading, installing, restarting, failed, retry). * chore(ui): soften primary button corner vscode-button[appearance='primary'] border-radius bumped from 6px to 7px in webview-ui/src/index.css. * chore(release): bump extension version to 6.6.1 Bump src/package.json from 6.6.0 to 6.6.1 and add the v6.6.1 release notes to CHANGELOG.md for the release/v6.6.1 branch.
There was a problem hiding this comment.
🧪 PR Review is completed: Release v6.6.1 adds Orbital extension update checking and installation via Open VSX. The implementation is solid overall with proper error handling, version comparison, and UI feedback. One case-sensitivity issue found in the IDE detection logic.
Skipped files
CHANGELOG.md: Skipped file patternwebview-ui/src/i18n/locales/en/chat.json: Skipped file pattern
⬇️ Low Priority Suggestions (1)
src/services/orbital/extensionUpdate.ts (1 suggestion)
Location:
src/services/orbital/extensionUpdate.ts(Lines 67-67)🟡 Type Safety
Issue: The
uriSchemecomparison on line 67 is case-sensitive (vscode.env.uriScheme === "orbital"), while theappNamecomparison on the same line properly lowercases. URI schemes are case-insensitive per RFC 3986, so if Orbital registers a scheme with different casing (e.g.,Orbital), the check will fail and update features won't be available.Fix: Lowercase
vscode.env.uriSchemebefore comparison, consistent with theappNamehandling.Impact: Ensures reliable IDE detection across all casing variants of the Orbital URI scheme.
- return vscode.env.appName.trim().toLowerCase() === "orbital" || vscode.env.uriScheme === "orbital" + return vscode.env.appName.trim().toLowerCase() === "orbital" || vscode.env.uriScheme.toLowerCase() === "orbital"
* feat(types): add autoApproved flag to clineMessage schema New optional boolean on cline messages that records the extension's authoritative decision that a request needs no user interaction. The webview uses this instead of re-running approval rules locally. * feat(task): propagate autoApproved through ask() Task.ask() now accepts an autoApproved parameter and threads it onto both the lastMessage update and the addToClineMessages call so the decision survives serialization. * feat(presentAssistantMessage): mark command_output as autoApproved The command_output ask path now passes autoApproved=true since the extension has already decided the command is safe to run. * refactor(CommandExecution): drop legacy button/icon props Removes icon, title, onRunEverythingClick, primaryButtonText, and secondaryButtonText props. The component now reads its own state from the extension store and renders a compact approval row with a MatterProgressIndicator. APPROVAL_OPTIONS labels updated to match the new copy. * refactor(ChatRow): drop matching legacy props ChatRow no longer forwards the removed CommandExecution props; the api_req_failed case renders CommandExecution with just executionId and text. * test(CommandExecution): update spec for new props Spec rewritten to cover the new approval flow and MatterProgressIndicator integration. * test(ChatView): add command-notification spec New spec covering the command notification rendering path.
|
✅ Reviewed the changes: Release v6.6.1 introducing autoApproved flag for command messages and a redesigned CommandExecution component with compact view and keyboard-navigable approval panel. Reviewed all changed files; found one UX issue in the keyboard handler. Reviewed packages/types/src/message.ts, src/core/assistant-message/presentAssistantMessage.ts, src/core/task/Task.ts, webview-ui/src/components/chat/ChatRow.tsx, webview-ui/src/components/chat/ChatView.tsx, webview-ui/src/components/chat/ExplorationGroupRow.tsx, webview-ui/src/components/chat/tests/ChatView.command-notification.spec.tsx, webview-ui/src/components/chat/tests/CommandExecution.spec.tsx: no issues found. |
Context
Cut the v6.6.1 release. Bumps
src/package.jsonfrom 6.6.0 to 6.6.1 and adds the v6.6.1 release notes toCHANGELOG.md.Implementation
Added
workbench.extensions.installExtensionand reloads the window, and a retry button on failure. Progress states (downloading / installing / restarting) are reflected inline with a spinner. The check is gated to Orbital hosts (appName === "orbital"oruriScheme === "orbital") so VS Code installs are unaffected.src/services/orbital/extensionUpdate.ts. New module exposingcheckForOrbitalExtensionUpdate,installOrbitalExtensionUpdate,isOrbitalIde, and a semver-awareisNewerVersionhelper that handlesv-prefixed and prerelease tags.orbitalUpdatei18n strings. Newchat:orbitalUpdate.*keys (available,description,updateAndRestart,downloading,installing,restarting,failed,retry).autoApprovedflag on cline messages. New optional boolean on theclineMessageschema that records the extension's authoritative decision that a request needs no user interaction. The webview uses this instead of re-running approval rules locally.Task.ask()now accepts and propagates the flag, and thecommand_outputask path passesautoApproved=true.Changed
vscode-button[appearance="primary"]border-radius bumped from6pxto7pxinwebview-ui/src/index.cssfor a slightly softer corner.CommandExecutionrefactor. Dropped legacyicon/title/onRunEverythingClick/primaryButtonText/secondaryButtonTextprops. The component now reads its own state from the extension store and renders a compact approval row with aMatterProgressIndicator.APPROVAL_OPTIONSlabels updated to match the new copy.ChatRowcleanup. Stopped forwarding the removedCommandExecutionprops; theapi_req_failedcase now rendersCommandExecutionwith justexecutionIdandtext.How to Test
src/package.jsonshows"version": "6.6.1"CHANGELOG.mdhas the new[v6.6.1]section at the topPublish Extensionworkflow will tagv6.6.1and publish to the VS Code Marketplace and JetBrains Marketplace.