Update plugin 解除占用 v1.1.0 - #635
Merged
Merged
Conversation
- chore: remove example components, update App.vue - feat(preload): add pure helper utilities for process management - test(preload): add unit tests for pure helper functions - feat(preload): implement find/close/kill process APIs - feat(types): update Services interface for unlock APIs - feat(ui): add Unlock component with drag-drop and process management - feat(config): update plugin.json with unlock feature - docs: update README for unlock plugin - fix: replace inline PowerShell with compiled C# .ps1 scripts, add debug logging - fix: rewrite detection to handle.exe + exclusive probe + process fallback - chore: remove test file - fix: show hint instead of 392 processes when handle.exe not installed - fix: replace handle.exe/RM with WMI command-line detection (524ms, works without admin) - chore: cleanup - fix: simplify close to RM shutdown only, clean up unused handle.exe files - chore: cleanup test files - feat: add admin retry button - launchs elevated PowerShell to close handles - feat: add npm run pack, install, release commands for .zpx packaging - chore: ignore release/ directory - chore: fix .gitignore encoding, ignore release/ - fix: remove stray closing brace breaking detect-lock.ps1 syntax - fix: correct try/catch structure and remove extra closing brace in detect-lock.ps1 - fix: support directory drag, rewrite admin handle closer with NT path matching and result reporting - fix: directory drag via separate cmds, no-BOM JSON result, dir lock detection, self-filter WMI - docs(plan): Windows-only unlock plugin implementation plan - chore: remove obsolete close-handle and admin-close scripts - feat(preload): add parseDetectOutput pure function with tests - refactor(preload): simplify utils to Windows-only taskkill - refactor(preload): rewrite services.js to Windows-only, use parseDetectOutput - docs(preload): document UTF-8/JSON coupling on PowerShell stdout - feat(preload): rewrite detect-lock.ps1 to use Restart Manager RmGetList - feat(preload): bundle handle.exe via download script + postinstall - feat(preload): add parseHandleExeOutput pure function with tests - feat(preload): add handle.exe fallback in findLockingProcesses - fix(preload): only surface __LOCKED__ hint when locked:true, not on API failure - feat(types): update Services interface for Windows-only unlock plugin - feat(ui): simplify to kill-only, add appType label, split __LOCKED__ by locked flag - chore: restrict plugin to Windows platform - docs: update README for Windows-only unlock plugin with handle.exe fallback - fix: probe file with exclusive open when detection finds no process - docs: spec for v2 three-module design (unlock + shredder + port scanner) - feat(types): add PortInfo, ShredderResult, TabType; remove AppType - fix(types): ShredderResult extends OperationResult - chore: remove Restart Manager detection module (no longer used) - feat(unlock): create handle.exe-only detection module with temp script for Chinese paths - style(unlock): use const/let instead of var, strict assert per code review - feat(shredder): add file shred/delete module with PowerShell implementation - refactor(shredder): extract isDirectory, remove dead imports, fix tests for real dirs - feat(portscan): add port occupancy detection module with Get-NetTCPConnection - refactor(services): aggregate from unlock/shredder/portscan modules - feat(ui): add tab container with unlock/shredder/port tabs - feat(ui): add simplified UnlockTab with handle.exe-only results - feat(ui): add ShredderTab with delete/shred modes and auto-unlock - feat(ui): add PortTab with port scan table and kill button - docs(plugin): update title/description for three-module tool, add search features - chore(build): skip emptyOutDir to avoid handle.exe lock conflict on Windows - v1.0 - v1.0 - v1.0发布 - v1.0 修复 - v1.1.0: 修复占用漏报与重启管理器失效,结束进程后闭环验证,提示文案改为用户友好
lzx8589561
marked this pull request as ready for review
October 2, 2026 13:22
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
插件信息
本次变更
修复
RmGetList的pnProcInfoNeeded(out) 与pnProcInfo(ref) 传入了同一个变量,计数被写回清零,导致分配 0 字节缓冲区、永远查不到占用者;异常还被空catch吞掉,所以一直静默失败。现在两者使用不同变量,失败会输出到 stderr 并记入运行记录。witr --pid补全启动链。RM_PROCESS_INFO按 Ansi 计算大小,而RmGetList按WCHAR[256]/WCHAR[64]写入,缓冲区被写穿导致 PowerShell 宿主堆损坏(0xC0000374;1 个占用者侥幸不崩,2 个以上必崩)。结构体解析改到 C# 内完成,并显式标注CharSet.Unicode。',路径中含$、反引号、双引号时不再被当成变量或破坏脚本(此前可造成脚本错误甚至命令注入)。新增
改进
Why It Exists→ "它是怎么跑起来的"、Source→ "来源"、Working Dir→ "工作目录"、kill→ "结束进程"。W)。截图 / 演示
自检清单
plugins/unlock/目录此 PR 由 ztools-plugin-cli 自动管理:每次
ztools publish基于最新主仓库重建发布分支;打开的 PR 链接保持不变。