Releases: bzlir/obsidian-dsh-plugin
Releases · bzlir/obsidian-dsh-plugin
Release list
0.7.0
0.6.5
release: 0.6.5 — reject directories when resolving dsh binary
0.6.4 — Promise rejection fix
Fix: proxy server error handler rejected with never-typed value instead of Error. Wrap in new Error(String(args[0])). Release 0.6.3 now has description.
0.6.3
Critical fix: dsh 0.1.5 silently exits in Obsidian
Root cause
Obsidian sets ELECTRON_RUN_AS_NODE=1 in process.env. This env var is inherited by execFileSync calls to external node binaries, causing them to run in Electron's Node mode where import.meta.main returns undefined. dsh 0.1.5's bin.js checks import.meta.main and silently exits (code 0, no output) when it's falsy.
Fix
- Add cleanChildEnv() helper: strips ELECTRON_RUN_AS_NODE, ELECTRON_NO_ASAR, ELECTRON_OVERRIDE_DIST_PATH
- checkNodeHasZstd and checkNodeVersion: use env: cleanChildEnv()
- checkNodeVersion: use --input-type=module + import.meta.main !== undefined (direct API test)
- DshView exit handler: include stdout + resolved node/dshScript info
- DshView catch: don't overwrite onUnexpectedExit's detailed message
0.6.2
fix: resolveNodeFromDsh checks Node >= 22.20 (import.meta.main support) dsh 0.1.5 uses import.meta.main in bin.js — Node 22.17.1 returns undefined for this property, causing dsh to silently exit (exit 0, no output). Node 22.23.2 supports it. Fix: add checkNodeVersion(nodePath, 22, 20) guard in: - resolveNodeFromDsh: reject node < 22.20 in dsh's own bin dir - resolveBin fallback: reject node < 22.20 from candidate dirs This ensures the plugin picks node 22.23.2 from custom paths when dsh's sibling node is 22.17.1. Bump version 0.6.1 → 0.6.2
0.6.1 — Legacy dsh support
Legacy dsh 0.1.1-0.1.4 protocol support + search symlink fix + Node 22.20 requirement + version compatibility table in README.
0.6.0
release: 0.6.0 — BrowserAuth protocol upgrade + console log cleanup
0.5.6
0.5.5
feat: add verification suite (46 checks, all pass) scripts/verify.sh — 13-section automated verification covering: 1. Build + TypeScript type-check 2. Manifest compliance (id, semver, isDesktopOnly) 3. DSH/Node binary detection 4. DSH web startup + API readiness 5. Process cleanup (SIGTERM) 6. Orphan cleanup 7. Provider config read/write 8. Agent detection (opencode/pi/prime-agent) 9. Agent import parse 10. Installer function exports 11. Source code structure (18 required files) All 46 checks pass. Only verify.sh is tracked (install/rollback/uninstall scripts remain gitignored). Bump version 0.5.4 → 0.5.5
0.5.4
fix: manual path input — input event instead of onChange, don't destr…