Skip to content

Latest commit

 

History

History
77 lines (57 loc) · 3.79 KB

REPORTS.md

File metadata and controls

77 lines (57 loc) · 3.79 KB

OCcode Wrapper & Extension — Test Report

Date: 2026-02-15
Platform: Linux x64 (Debian, 6.12.48+deb13-cloud-amd64)
Tester: Automated (HAL sub-agent)


Summary

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.

What Was Tested

1. Wrapper — apps/wrapper/

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

2. Extension — apps/extension/

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

Bugs Found & Fixed

Bug 1: Invalid VSCodium version (CRITICAL)

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.

Bug 2: Home panel missing message handler

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

Non-bug: Missing extensions/ directory

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.

What Still Needs Work

  1. Extension VSIX packaging: No pre-built .vsix file exists in extensions/. The wrapper's installExtension() looks for .vsix files there. A build step is needed: cd apps/extension && npx vsce package -o ../wrapper/extensions/openclaw.vsix
  2. 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.
  3. Linux ARM64 support: PLATFORM_MAP only maps x64 for Linux. Consider adding arm64.
  4. Electron app not tested with display: npm start requires a display. Verified logic modules independently. Full GUI test needs xvfb-run or a real display.
  5. 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.

Test Environment Details

Node.js: v25.4.0
npm: 11.4.2
OS: Linux 6.12.48+deb13-cloud-amd64 (x64)
Electron: 30.x (devDependency)