Skip to content

Releases: realchendahuang/OMPChamber

OMPChamber v2.0.4

Choose a tag to compare

@github-actions github-actions released this 12 Aug 09:17

[2.0.4] - 2026-08-12

  • Real multi-session support for the OMP engine. The adapter's GET /api/session, GET /api/session/:id, and DELETE /api/session/:id endpoints now read from the OMP on-disk session store (session-store.js + session-manager.js), merging live sessions into the list. Deleted sessions remove their companion subagent directories; missing files return 404; active-session deletion behavior is explicitly defined and tested.
  • Command output appears in the chat timeline. OMP command_output frames are normalized and bridged as ompchamber:command-output SSE events; the UI sync layer consumes them as synthetic assistant messages with replay deduplication and parent-message attribution.
  • Plan file paths fully OMP-branded. PlanView and the server fs guard now use .omp/plans and ~/.omp/plans consistently.
  • Settings keys fully renamed with no legacy fallback. opencodeBinary → ompBinary, showOpenCodeUpdateNotifications → showOmpUpdateNotifications, openCodeUpdateToastDismissedVersion → ompUpdateToastDismissedVersion; the localStorage dismissal key is now omp-update-toast-dismissed-version. The OPENCODE_BINARY env fallback was removed from binary resolution and the CLI preflight.
  • Dead OpenCode branch-prefix workarounds removed. The sidebar path normalizer no longer special-cases opencode/, and GitView no longer tries to fix a self-referential opencode/ branch.
  • Polish: tightened internal session-store exports; dead-code scan holds at the 2 pre-existing unused files (smoke-test.mjs and tool-normalizer.js).

OMPChamber v2.0.3

Choose a tag to compare

@github-actions github-actions released this 12 Aug 07:09

[2.0.3] - 2026-08-12

  • Windows desktops can now run the bundled OMP engine. The staged launcher was a POSIX sh script that CreateProcess cannot execute, so bundled OMP could never spawn on Windows. prepare-omp-cli now always writes both an omp sh launcher and an omp.cmd batch launcher, the Electron main process resolves omp.cmd on win32, and the server's process manager spawns .cmd/.bat binaries through the shell (windowsHide set).
  • Server endpoints that faked data now serve the real OMP engine, verified against the actual omp/17.2.12 binary: /api/command lists real OMP commands (get_available_commands, with live ompchamber:available-commands SSE updates) and slash-command execution works via the prompt path; POST /api/session/:id/shell runs through the OMP bash RPC; /summarize aliases compaction; /fork and /branch use get_branch_messages + branch(entryId) (the previous no-arg branch call always failed against real OMP); /api/global/version and /api/global/health report the real engine version instead of a hardcoded 1.0.0; session status derives busy/idle from turn lifecycle events reconciled against get_state; the todo endpoint reflects todo_reminder frames; and pending question/permission requests are tracked in a registry and served at /api/question and /api/permission instead of hardcoded empty lists.
  • The custom OMP binary path setting actually works. The desktop setting (opencodeBinary, written with a "restart to apply" prompt) was a dead write; the server now resolves the engine binary with explicit precedence OMP_BINARY env → persisted setting → OPENCODE_BINARY (deprecated) → omp on PATH, and logs which source won. On Electron the bundled/env binary still wins by design.
  • OMP engine update checks point at real OMP channels. The version feed previously queried the wrong upstream entirely (anomalyco/opencode on GitHub, opencode-ai on npm); it now reads can1357/oh-my-pi releases and @oh-my-pi/pi-coding-agent on npm, on both the server and the VS Code extension. The obsolete Windows ARM64 self-update workaround was removed end to end. Engine self-upgrade remains disabled (bundled/pinned by design).
  • Installer sizes drop by ~350MB per package. The staged OMP tree ships two onnxruntime-node copies with prebuilt natives for every platform; prepare-omp-cli now keeps only the target platform/arch (and removes the unused npm .bin tree). Release CI passes ELECTRON_BUILDER_ARCH on Windows so the arm64 cross-build prunes correctly.
  • Fixes: a ReferenceError that broke skill renaming (refreshOmpAfterConfigChange/clientReloadDelayMs were never destructured); the Linux AppImage verifier now imports PINNED_OMP_VERSION instead of a hardcoded copy that would drift on the next bump.
  • Copy cleanup. All "Restart OpenCode to apply" messages (server routes and the VS Code bridge, ~35 sites) now read "Restart OMPChamber to apply", and stale sidecar/OpenCode narration in user-facing strings, the PWA manifest, and comments was corrected.

OMPChamber v2.0.2

Choose a tag to compare

@github-actions github-actions released this 12 Aug 05:00

[2.0.2] - 2026-08-12

  • Releases no longer require signing secrets. The macOS desktop job now produces unsigned (ad-hoc signed) DMG/ZIP artifacts when the Apple certificate secrets are absent — unsigned builds install via right-click → Open (Gatekeeper warns once). When the secrets are present, signing, the hardened-runtime/entitlement verification, and notarization run exactly as before.
  • Bundled OMP tree slimmed and made portable. prepare-omp-cli prunes compile-time-only .d.ts/.map files (~13k files, ~110MB) from the staged engine — they are never read at runtime and their file count exhausted the macOS signing walk (EMFILE) — and afterPack now copies npm's .bin shims verbatim, so packaged apps no longer contain absolute symlinks into the build machine (which also broke macOS codesign).
  • Android falls back to a self-signed keystore. Without ANDROID_KEYSTORE_* secrets the mobile pipeline generates a throwaway key and still ships an installable APK/AAB for sideloading. iOS TestFlight still requires paid-developer signing; the job now skips with a notice instead of failing when those secrets are missing.
  • npm publish skips cleanly without NPM_TOKEN instead of failing the release run.

OMPChamber v2.0.1

Choose a tag to compare

@github-actions github-actions released this 12 Aug 01:06

[2.0.1] - 2026-08-12

  • Packaged desktop apps ship the OMP engine again. electron-builder's file matcher silently dropped the bundled omp-cli node_modules tree from extraResources, producing installers with a launcher but no engine. The runtime is now staged by afterPack (with a hard build failure when the engine entry is missing), and the release pipeline verifies the packaged tree.
  • Windows packaging fixed. prepare-omp-cli now launches npm.cmd through cmd.exe (shell: true) — batch shims cannot be executed by CreateProcess directly, which broke the "Prepare bundled OMP CLI" release step with no visible error. Command failures now also surface stdout/stderr in the thrown error.
  • Linux AppImage verification accepts the omp/ version prefix. verify-linux-appimage compared the raw omp --version output (omp/17.2.12) against the bare pinned version; it now normalizes the prefix before comparing.
  • Linux AppImage release builds fixed. The Go app-builder binary downloads the AppImage toolchain with a retry-less HTTP client that dies with a bare EOF on GitHub-hosted runners (electron-builder surfaces no error at all). Release CI now pre-seeds the toolchain cache with curl+7z so the flaky download never happens. Root-caused with an ubuntu:24.04 Docker reproduction of the release job.

OMPChamber v2.0.0

Choose a tag to compare

@github-actions github-actions released this 11 Aug 23:55

[2.0.0] - 2026-08-12

  • OpenCode naming purged across the product. The UI package (~192 files), the VS Code extension, the documentation site (10 locales), the CLI, Docker assets, and developer tooling now use OMP/OMPChamber naming throughout — components, modules, types, i18n keys (11 locales), bridge message types, and user-facing strings. Historical references to OpenCode and OpenChamber (attribution, migration notes) are intentionally preserved.
  • Internal HTTP contracts renamed. The OMPChamber-internal API surface moved from /api/opencode/* to /api/omp/* (including /api/config/omp-resolution), request headers from x-opencode-directory to x-omp-directory, and readiness flags from isOpenCodeReady to isOmpReady, with the server, web UI, and VS Code extension updated together.
  • CLI resolves the OMP binary. The ompchamber serve preflight now resolves OMP_BINARY first (with OPENCODE_BINARY honored as a deprecated fallback) and searches PATH for omp before opencode; both variables are exported so every downstream consumer works. The dead OPENCODE_SKIP_START/OPENCODE_HOST options were removed from help and docs.
  • Docker and release pipelines ship OMP. The image installs the pinned @oh-my-pi/pi-coding-agent@17.2.12 CLI and exports OMP_BINARY; the oh-my-opencode plugin installer was removed. Release CI builds, verifies, and caches the bundled OMP CLI, and the packaged desktop launcher now resolves its install location relative to itself instead of the build machine.
  • VS Code extension runs the OMPChamber server natively. The extension no
    longer spawns the removed opencode CLI; it bundles the OMPChamber web
    server (dist/server.cjs, esbuild bundle of packages/web/server) and
    spawns it with node on a loopback port, then proxies the webview to it.
    All extension-side API calls now target the /api surface: readiness
    polling uses /api/global/health, the SSE event watcher reads
    /api/global/event, and the git bridge (PR descriptions, conflict details)
    creates sessions and prompts through the OMP adapter with plain fetch.
    The @opencode-ai/sdk dependency is gone from the extension host and the
    webview. Tests run with bun test --isolate (96 pass / 0 fail), which also
    fixes the pre-existing cross-file mock.module pollution.
  • Subagent events reach the UI. The OMP event bridge now projects
    subagent_lifecycle / subagent_progress / subagent_event frames as
    ompchamber:subagent SSE events, and the sync layer consumes them into a
    per-session subagent snapshot store. The work-status subagents section
    renders live OMP subagent cards (label, status) merged with the
    parent-session fallback used by the OpenCode ecosystem.
  • SSE event endpoint for the web server. GET /api/global/event streams
    global hub events as SSE with Last-Event-ID replay and heartbeats, so
    SSE-only consumers (VS Code extension, hosted mobile) can follow the event
    stream without WebSocket support.
  • @opencode-ai/sdk removed from the whole repository. The last three
    server modules (skill-routes / ompchamber-sessions / ompchamber-control)
    now use plain fetch against the OMP adapter; the dependency was dropped
    from root, web, and vscode workspaces and the lockfile.
  • Scheduled Tasks run natively on the OMP engine. The scheduled-tasks
    runtime no longer depends on @opencode-ai/sdk; it creates sessions and
    sends prompts through the OMP adapter's HTTP surface with plain fetch
    (POST /api/session + POST /api/session/:id/prompt_async). Session
    creation, command listing, and command dispatch are now injectable hooks
    with OMP-aware defaults: OMP has no command surface, so slash-command
    prompts resolve to no command and run as plain prompts instead of failing.