koishijs / koishi

Cross-platform chatbot framework made with love
https://koishi.chat
MIT License
4.53k stars 246 forks source link

Bug: 在4.17.8中,使用`yarn start`启动Koishi后,WEB管理界面卡死 #1413

Open tiehu opened 5 months ago

tiehu commented 5 months ago

Describe the bug

4.17.7更新到4.17.8时发现了一个相当奇怪的问题,这里附上我的详细操作过程便于诊断和复现(可能略长): 在更新完成,重启Koishi之后从浏览器访问WEB控制台,此时发现页面完全卡死,表现为: 1.左侧活动栏只显示出不全的几个图标,有时是3个,有时是4个。 2.点击任何按钮皆无反应。 3.右下角一直显示正在加载页面组件,进度条卡住不动。 4.片刻后浏览器提示网页无响应。 5.此时bot本身功能正常,在聊天平台中有响应,只是WEB控制台无法访问。 6.后台日志中的输出与平时启动时完全一致,无任何警告或错误信息。 7.即使启动后等待相当长一段时间再访问控制台,此问题仍然会出现。

遂尝试重启Koishi、系统,皆无法解决问题。 随后回滚更新操作: 1.将项目目录下的./data./package.json./koishi.yml还原为更新前的状态。 2.使用yarn && yarn start重新获取依赖包并启动Koishi。 3.此时上述问题不再复现。

此后重启系统、重启Koishi后问题皆未出现,但再一次尝试更新到4.17.8后问题再次出现。这一系列操作已尝试过多次,在我的环境中复现率为100%

接着,尝试使用yarn dev以开发模式启动Koishi,控制台的启动速度相较4.17.7略慢(日志中输出console webui is available at http://x.x.x.x:xxx后,需要等待一段时间后才能在浏览器中正常打开WEB控制台),但之后能够正常访问和使用。

再次更新至4.17.8,经多次试验,发现如果package.jsonscripts中,给start加上dev里的cross-env NODE_ENV=development,即可在使用koishi start的情况下,让WEB控制台不会卡死并能够正常工作,原理暂时不明确。

Steps to reproduce

(此问题可能只能在以模板方式创建的项目中复现,暂未在其他环境下测试) 1.安装Koishi 4.17.7(注:此时console版本为5.28.4)。 2.通过WEB管理界面-依赖管理右上角的火箭图标更新依赖。 3.等待更新完成,访问WEB控制台,BUG复现。

Expected behavior

在使用yarn start启动项目时,WEB控制台能够正常使用。

Screenshots

No response

Versions

Additional context

No response