Skip to content

Release v6.6.1 - #106

Merged
code-crusher merged 2 commits into
mainfrom
release/v6.6.1
Jul 21, 2026
Merged

Release v6.6.1#106
code-crusher merged 2 commits into
mainfrom
release/v6.6.1

Conversation

@code-crusher

@code-crusher code-crusher commented Jul 21, 2026

Copy link
Copy Markdown
Member

Context

Cut the v6.6.1 release. Bumps src/package.json from 6.6.0 to 6.6.1 and adds the v6.6.1 release notes to CHANGELOG.md.

Implementation

Added

  • In-app Orbital 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.
  • src/services/orbital/extensionUpdate.ts. New module exposing checkForOrbitalExtensionUpdate, installOrbitalExtensionUpdate, isOrbitalIde, and a semver-aware isNewerVersion helper that handles v-prefixed and prerelease tags.
  • orbitalUpdate i18n strings. New chat:orbitalUpdate.* keys (available, description, updateAndRestart, downloading, installing, restarting, failed, retry).
  • autoApproved flag on cline messages. New optional boolean on the clineMessage schema 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 the command_output ask path passes autoApproved=true.

Changed

  • Primary button border-radius. vscode-button[appearance="primary"] border-radius bumped from 6px to 7px in webview-ui/src/index.css for a slightly softer corner.
  • CommandExecution refactor. Dropped legacy icon / title / onRunEverythingClick / primaryButtonText / 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.
  • ChatRow cleanup. Stopped forwarding the removed CommandExecution props; the api_req_failed case now renders CommandExecution with just executionId and text.

How to Test

  • Verify src/package.json shows "version": "6.6.1"
  • Verify CHANGELOG.md has the new [v6.6.1] section at the top
  • Inside the Orbital IDE, open the chat view and confirm the update banner appears above the composer when a newer version is published to Open VSX; click "Update & Restart" and verify the window reloads with the new version
  • Inside VS Code, confirm no update banner is shown (the check is gated to Orbital hosts)
  • Trigger a command execution and confirm the new compact approval row renders with the updated labels and progress indicator
  • Once merged, the Publish Extension workflow will tag v6.6.1 and publish to the VS Code Marketplace and JetBrains Marketplace.

* 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.
@matterai-app

matterai-app Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Context

Implementing an autonomous update mechanism specifically for the Orbital IDE flavor of the extension to ensure users stay on the latest version via Open VSX integration.

Implementation

Summary By MatterAI MatterAI logo

🔄 What Changed

Introduced an update service that queries the Open VSX registry for new versions, a UI banner for user notification, and message handlers to trigger the installation and window reload within the Orbital IDE environment.

🔍 Impact of the Change

Users on the Orbital platform now receive real-time update notifications and can perform one-click upgrades, significantly reducing version fragmentation and manual maintenance overhead.

📁 Total Files Changed

Click to Expand
File ChangeLog
Update Handler src/core/webview/webviewMessageHandler.ts Added checkForOrbitalUpdate and installOrbitalUpdate command routing logic.
Version Bump src/package.json Incremented extension version to 6.6.1.
Update Service src/services/orbital/extensionUpdate.ts New service for version parsing, comparison, and Open VSX API integration.
Message Types src/shared/ExtensionMessage.ts Added orbitalUpdateStatus to the extension-to-webview protocol.
Webview Commands src/shared/WebviewMessage.ts Added update-related action types for webview-to-extension communication.
UI Integration webview-ui/src/components/chat/ChatView.tsx Integrated the OrbitalUpdateBanner into the main chat interface.
Update Banner webview-ui/src/components/chat/OrbitalUpdateBanner.tsx New React component to display update status (available, installing, error).
Unit Tests webview-ui/src/components/chat/__tests__/OrbitalUpdateBanner.spec.tsx Added comprehensive tests for banner rendering and update triggering.
Style Tweak webview-ui/src/index.css Applied global border-radius update for VS Code buttons.

🧪 Test Added/Recommended

Added

  • OrbitalUpdateBanner.spec.tsx: Verifies banner visibility, version display, and message dispatching for all update states.

Recommended

  • Integration tests for extensionUpdate.ts to mock Open VSX API responses and verify version comparison logic (isNewerVersion).
  • Error boundary testing for network failures during the update check.

🔒 Security Vulnerabilities

N/A. The implementation uses a 15s timeout for API calls and validates that the returned metadata matches the expected extension publisher and name.

Screenshots

before after
N/A Update banner appears at the top of the chat input when a new version is detected.

How to Test

  • Launch the extension in an environment where vscode.env.appName is 'Orbital'.
  • Mock the Open VSX API response to return a version higher than 6.6.1.
  • Observe the update banner appearing in the Chat View.
  • Click 'Update & Restart' and verify the installExtension command is triggered.

@matterai-app matterai-app Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧪 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 pattern
  • webview-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 uriScheme comparison on line 67 is case-sensitive (vscode.env.uriScheme === "orbital"), while the appName comparison 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.uriScheme before comparison, consistent with the appName handling.

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.
@code-crusher
code-crusher merged commit 8d94c79 into main Jul 21, 2026
0 of 8 checks passed
@code-crusher
code-crusher deleted the release/v6.6.1 branch July 21, 2026 14:54
@matterai-app

matterai-app Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

✅ 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant