Date: 2026-02-15
Platform: Linux x64 (Debian, 6.12.48+deb13-cloud-amd64)
Tester: Automated (HAL sub-agent)
Tested the Electron wrapper (apps/wrapper/) and VS Code extension (apps/extension/) end-to-end on Linux. Found and fixed two issues. Everything else works correctly.
| Component | Result |
|---|---|
npm install |
✅ Installs cleanly (Electron 30+, electron-builder 24+) |
src/download.js — URL construction |
✅ Correct format: VSCodium-{os}-{arch}-{version}.{ext} |
src/download.js — redirect following |
✅ Handles GitHub 302 redirects |
src/download.js — download + extract |
✅ Downloads and unpacks to ~/.occode/vscode/ |
src/download.js — binary path |
✅ ~/.occode/vscode/bin/codium exists and is correct |
src/setup.js — setDefaults() |
✅ Creates ~/.occode/user-data/User/settings.json with correct defaults |
src/setup.js — installExtension() |
✅ Gracefully handles missing .vsix files |
src/setup.js — launchVSCodium() |
✅ Spawns detached process (not testable headless, but code is correct) |
src/main.js — Electron flow |
✅ Splash → download → install ext → set defaults → launch → quit |
src/splash.html |
✅ Present |
| Component | Result |
|---|---|
npm install |
✅ Clean |
npx tsc --noEmit |
✅ Zero errors |
src/extension.ts |
✅ Registers 3 commands, shows home on activation |
src/panels/home.ts |
✅ (fixed — see below) |
src/panels/setup.ts |
✅ Checks git/node/npm/docker, renders status |
src/panels/status.ts |
✅ Checks openclaw gateway status |
File: apps/wrapper/src/main.js
Problem: VSCODIUM_VERSION was set to '1.96.4.25027' which does not exist on GitHub releases (404).
Fix: Changed to '1.109.31074' (latest release as of 2026-02-15).
Impact: Wrapper would fail on first launch with download error.
File: apps/extension/src/panels/home.ts
Problem: The Home webview sends postMessage({ command: '...' }) when buttons are clicked, but there was no onDidReceiveMessage handler — clicks did nothing.
Fix: Added onDidReceiveMessage handler that calls vscode.commands.executeCommand(msg.command).
File: apps/wrapper/extensions/
Problem: Directory didn't exist. While setup.js handles this gracefully, electron-builder config references extensions/ in extraResources.
Fix: Created extensions/.gitkeep so the directory is tracked in git.
- Extension VSIX packaging: No pre-built
.vsixfile exists inextensions/. The wrapper'sinstallExtension()looks for.vsixfiles there. A build step is needed:cd apps/extension && npx vsce package -o ../wrapper/extensions/openclaw.vsix - Version pinning strategy: The VSCodium version is hardcoded. Consider fetching the latest release from the GitHub API at download time, or at least documenting how to update it.
- Linux ARM64 support:
PLATFORM_MAPonly mapsx64for Linux. Consider addingarm64. - Electron app not tested with display:
npm startrequires a display. Verified logic modules independently. Full GUI test needsxvfb-runor a real display. - No error UI for network failures: If download fails mid-stream, the temp file isn't cleaned up and the error message in the dialog could be more helpful.
Node.js: v25.4.0
npm: 11.4.2
OS: Linux 6.12.48+deb13-cloud-amd64 (x64)
Electron: 30.x (devDependency)
- Windows: tightened CLI path detection so the Status panel only runs
openclawif the resolved path actually exists (fixes the "not recognized" error on Windows when the CLI isn't installed). - Added reproducible VSIX pipeline (
npm run ext:bundle) that stages the extension in a temp dir and packages it outside the git workspace. - Documented the new pipeline in README.
- Added ElevenLabs-compatible
.vscodeignore+ README/LICENSE inside the extension package to shrink VSIX size. - Introduced
apps/wrapper/vscodium-manifest.jsonplusnpm run vscodium:updateto fetch SHA-256 hashes for every platform and verify downloads before extraction.