koishijs / koishi

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

Bug: 控制台添加机器人,选择有多个protocol的adapter会报错无法显示设置表单 #738

Closed samnyan closed 2 years ago

samnyan commented 2 years ago

Describe the bug

在控制台添加机器人的页面,选择任意一个有多个protocol的adapter(也就是除了discord和qqguild),都会报错

vue.js:1 TypeError: Cannot read properties of undefined (reading 'type')

导致页面表单无法显示,无法添加机器人

Steps to reproduce

在机器人页面添加机器人,并且选择一个有多个protocol选项的adapter(如onebot)

Expected behavior

应显示对应adapter的配置表单

Screenshots

No response

Versions

Additional context

https://github.com/koishijs/koishi/blob/b4d678c05b3db77f499b42568bdc3de09baea9b8/plugins/frontend/client/client/components/form/schema.vue#L171-L181 这里的174行的 active.value ,正常应该是一个object。 加了断点之后,这里选择adapter之后发生了两次调用,第一次调用的时候 active.value 是正常的object,第二次调用是数字 0,导致访问它的 .meta.description 直接报错。

shigma commented 2 years ago

Fixed by 91aad42eca1c15aff4224b05d478d77a35a2f298.