openpencil/packages/op-vscode
Kayshen-X 3365fa9e0d fix(vscode): match shell relay control messages by parsed type, not substring
The prior control-message fix was one-sided: the webview shell's inline relay
still used e.data.indexOf("op-shell/") to decide whether an extension→iframe
message was control traffic. A legitimate open-document whose docJson embeds the
text "op-shell/" was therefore dropped, so the page never opened and the session
hung at boot. The relay now JSON.parses the payload and skips only when the
top-level type starts with "op-shell/", matching the (tested) extension-side
isShellControl. Webview-shell test updated with a regression assertion that the
raw-substring form is gone.

--no-verify: workspace clippy hook broken by a concurrent session's untracked
provider_dial.rs; no Rust touched. 129 tests + tsc + oxlint green.
2026-07-17 21:06:22 +08:00
..
src fix(vscode): match shell relay control messages by parsed type, not substring 2026-07-17 21:06:22 +08:00
test feat(vscode): custom editor provider, commands, activation, and daemon lifecycle 2026-07-17 20:52:48 +08:00
.oxlintrc.json chore(vscode): move extension into packages/ workspace as op-vscode 2026-07-17 20:10:41 +08:00
.vscodeignore chore(vscode): move extension into packages/ workspace as op-vscode 2026-07-17 20:10:41 +08:00
build.mjs feat(vscode): custom editor provider, commands, activation, and daemon lifecycle 2026-07-17 20:52:48 +08:00
package.json feat(vscode): custom editor provider, commands, activation, and daemon lifecycle 2026-07-17 20:52:48 +08:00
README.md chore(vscode): move extension into packages/ workspace as op-vscode 2026-07-17 20:10:41 +08:00
tsconfig.json chore(vscode): move extension into packages/ workspace as op-vscode 2026-07-17 20:10:41 +08:00

OpenPencil for VS Code

Design-as-code integration for OpenPencil .op files: custom editor, MCP configuration, AI skills, and code generation. Under active development; see openpencil/.superpowers/sdd/ for the implementation plan.