openpencil/packages
Kayshen-X 32dcd52037 fix(vscode): exact control-message match and backup parent-dir creation
Two stop-gate defects in the editor provider:
- isShellControl used a raw substring check for "op-shell/", so a legitimate
  snapshot whose docJson embedded that text was dropped as control traffic,
  leaving the awaiting save/backup unresolved (a hung save). Now parses the
  JSON and matches the exact top-level `type`. Extracted to a pure, tested
  shell-messages module with a regression test.
- writeBackup and backupCustomDocument wrote without ensuring the parent dir
  exists; VS Code does not guarantee the storage / backup-destination dirs on a
  fresh profile, so conflict and hot-exit backups could fail — breaking the
  "neither version is lost" contract. Now create the parent dir first.

--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:02:14 +08:00
..
op-vscode fix(vscode): exact control-message match and backup parent-dir creation 2026-07-17 21:02:14 +08:00
op-web-sdk feat(web): make credential persistence deployment-aware 2026-07-14 23:36:37 +08:00
op-web-sdk-react feat(web): make credential persistence deployment-aware 2026-07-14 23:36:37 +08:00
op-web-sdk-vue feat(web): make credential persistence deployment-aware 2026-07-14 23:36:37 +08:00
scripts refactor(sdk): use TypeScript AST for version sync 2026-07-15 21:17:21 +08:00
.oxfmtrc.json merge: land the align-branch work onto the refreshed base 2026-07-03 00:08:17 +08:00
.oxlintrc.json merge: land the align-branch work onto the refreshed base 2026-07-03 00:08:17 +08:00
bun.lock chore(vscode): move extension into packages/ workspace as op-vscode 2026-07-17 20:10:41 +08:00
CLAUDE.md fix(sdk): harden version synchronization 2026-07-15 21:17:21 +08:00
package.json chore(vscode): move extension into packages/ workspace as op-vscode 2026-07-17 20:10:41 +08:00