NapCatQQ/src
phelogges 05f8e8f3c3
fix: 修复了Unix终端打开失败的bug (#1355)
Bug复现:
mlikiowa/napcat-docker:v4.9.23,登陆账号后,在WebUI中打开系统终端失败,查看容器日志报错如下
Failed to create terminal: TypeError: Cannot read properties of undefined (reading 'fork')
    at new UnixTerminal (file:///app/napcat/napcat.mjs:67721:22)
    at spawn (file:///app/napcat/napcat.mjs:67873:10)
    at TerminalManager.createTerminal (file:///app/napcat/napcat.mjs:67963:17)
    at CreateTerminalHandler (file:///app/napcat/napcat.mjs:68069:36)
    at Layer.handleRequest (/app/napcat/node_modules/router/lib/layer.js:152:17)
    at next (/app/napcat/node_modules/router/lib/route.js:157:13)
    at Route.dispatch (/app/napcat/node_modules/router/lib/route.js:117:3)
    at handle (/app/napcat/node_modules/router/index.js:435:11)
    at Layer.handleRequest (/app/napcat/node_modules/router/lib/layer.js:152:17)
    at /app/napcat/node_modules/router/index.js:295:15

定位到源码https://github.com/NapNeko/NapCatQQ/blob/main/src/pty/prebuild-loader.ts#L5
注意到源码中的pty.node路径与容器中实际不符,修改为正确的路径

验证测试:
笔者没有重新构建,而是保持代码逻辑,反过来将pty.node的路径复制到代码中要求的位置,测试发现bug修复

Extra:
注意到native模块中不止有pty模块,还有ffmpeg等其他模块,笔者没有继续看其他模块的加载情况了,如有必要可能需要确认一并load路径
2025-11-04 17:51:46 +08:00
..
common release: v4.9.23 2025-11-03 15:18:57 +00:00
core Refactor busiId type and comparisons in group API 2025-11-03 23:18:34 +08:00
example-plugin refactor: 优化eslint配置,提升代码质量 (#1341) 2025-11-03 16:30:45 +08:00
framework refactor: 优化eslint配置,提升代码质量 (#1341) 2025-11-03 16:30:45 +08:00
image-size refactor: 优化eslint配置,提升代码质量 (#1341) 2025-11-03 16:30:45 +08:00
native fix: 修复 linux 音频转换问题 2025-11-02 21:33:03 +08:00
onebot Refactor busiId type and comparisons in group API 2025-11-03 23:18:34 +08:00
plugin refactor: 优化eslint配置,提升代码质量 (#1341) 2025-11-03 16:30:45 +08:00
pty fix: 修复了Unix终端打开失败的bug (#1355) 2025-11-04 17:51:46 +08:00
qrcode refactor: 优化eslint配置,提升代码质量 (#1341) 2025-11-03 16:30:45 +08:00
shell refactor: 优化eslint配置,提升代码质量 (#1341) 2025-11-03 16:30:45 +08:00
universal refactor: 优化eslint配置,提升代码质量 (#1341) 2025-11-03 16:30:45 +08:00
webui Refactor Store to use per-key timers for expiration 2025-11-03 17:06:44 +08:00
index.ts refactor: 优化eslint配置,提升代码质量 (#1341) 2025-11-03 16:30:45 +08:00