Repository navigation
Releases
Releases · nanshang328/dsh-power
v0.6.1
Restart-engine hardening from a re-audit of the shutdown/restart path:
- Retries stop when they cannot win: an old instance still holding the single-instance lock is reported as
lock-held-by-other, and a launch path that reported no pid at all is declared dead after ~6s instead of consuming the whole start budget. - The helper watches the new instance after saying OK (outside the lock): died / teardown / replaced are recorded instead of leaving a false success that never changes.
- Same-named processes younger than the kill are stopped before the relaunch, so a shell respawning its host cannot race the new instance for the port.
- Hand-run mode (
-Port 0) no longer polls a budget it cannot satisfy, and no longer reports a healthy relaunch asteardownwith exit code 3. - WMI calls carry a 20s operation timeout: a hung CIM call falls through to the explorer fallback instead of leaving the app stopped with nobody left to relaunch it.
- The status record carries
servingPid(the host pid the port actually named), not just the pid a launch path reported. - New
testbed/end-to-end tests against a fake app (scenarios A/B/C plus hand-run mode); docs corrected (readiness is the plugin's own status route, because the core /health route is behind the web token).
Install: dsh plugin --profile desktop add github:nanshang328/dsh-power
v0.6.0
One draggable power card (left = shut down, right = restart, two-click safety).
- CSRF-hardened endpoints (x-dsh-power header)
- Multi-instance-safe restart (kills only this instance's process tree)
- Foreground bring-up after restart
- schtasks cleanup, confirmPower/confirmMs config keys
Install: dsh plugin --profile desktop add github:nanshang328/dsh-power