Skip to content

Solid runtime plugin support missing from plugin/loader.ts #22045

@YumaKakuya

Description

@YumaKakuya

Description

The TUI plugin runtime imports @opentui/solid/runtime-plugin-support at the top of packages/opencode/src/cli/cmd/tui/plugin/runtime.ts:1, which lets Solid plugins register themselves inside a compiled binary. The plugin loader used by the server process at packages/opencode/src/plugin/loader.ts does not have the same import, so a server plugin that ships compiled .tsx components cannot find its Solid runtime when loaded from a compiled binary — the plugin silently fails to mount.

Matching the existing TUI pattern is a single-line import at the top of plugin/loader.ts:

import "@opentui/solid/runtime-plugin-support"

PR: #22046

Plugins

No response

OpenCode version

dev branch (reproduced against commit 27190635e)

Steps to reproduce

  1. Write a server plugin that uses Solid's TSX runtime to render components.
  2. Build OpenCode as a single-file binary via ./packages/opencode/script/build.ts --single.
  3. Load the plugin from that binary — the TSX component never mounts because the Solid runtime was never registered in the server process.

Screenshot and/or share link

No response

Operating System

Linux (WSL2, Ubuntu 24.04)

Terminal

No response

Metadata

Metadata

Assignees

Labels

coreAnything pertaining to core functionality of the application (opencode server stuff)

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions