qwen-code/packages
tanzhenxin 0f8e8db9ae
fix(core): limit skill watcher depth to prevent FD exhaustion (#3320)
* fix(core): limit skill watcher depth to prevent FD exhaustion (#3289)

The chokidar file watcher in SkillManager.updateWatchersFromCache() had
no depth limit or ignored paths. When skill directories contained heavy
subtrees like node_modules, chokidar recursively watched every file,
exhausting file descriptors and breaking child-process I/O (node-pty
onData/onExit callbacks silently stop firing).

Fix: set depth to 2 (skills use a fixed <skill-name>/SKILL.md layout)
and add an ignored function that filters out special file types (sockets,
FIFOs, devices) and .git directories.

Made-with: Cursor

* fix(core): use path.join in watcher test for Windows compat

The watcherIgnored test used hardcoded forward-slash paths which don't
split correctly on Windows where path.sep is backslash.

Made-with: Cursor
2026-04-17 15:28:46 +08:00
..
channels chore(release): bump version to 0.14.5 (#3298) 2026-04-15 22:43:29 +08:00
cli feat(cli): support multi-line status line output (#3311) 2026-04-17 12:44:30 +08:00
core fix(core): limit skill watcher depth to prevent FD exhaustion (#3320) 2026-04-17 15:28:46 +08:00
sdk-java feat(cli/sdk): expose /context usage data in non-interactive mode and SDK API (#2916) 2026-04-14 03:28:32 +08:00
sdk-typescript fix(sdk): avoid leaking process exit listeners in ProcessTransport (#3295) 2026-04-16 10:52:19 +08:00
vscode-ide-companion feat(memory): managed auto-memory and auto-dream system (#3087) 2026-04-16 20:05:45 +08:00
web-templates chore(release): bump version to 0.14.5 (#3298) 2026-04-15 22:43:29 +08:00
webui feat(memory): managed auto-memory and auto-dream system (#3087) 2026-04-16 20:05:45 +08:00
zed-extension chore(zed-extension): update package version to 0.10.0 2026-02-06 14:26:01 +08:00