feat(dashboard): 支持 Webhook 新建群邀请多个机器人;修复搜索框和搜索图标样式错乱 - #1305
Conversation
|
感谢这个 PR!把 下面两点想请你看一下,第一点建议合入前修: 1. 取消勾选全部附加机器人后,配置删不掉(建议修复)
if (form.mode === 'new-group') {
const botIds = normalizeConnectorBotIds(form.botId, form.additionalBotIds);
if (botIds.length > 1) target.botIds = botIds; // ← 为空时整个 key 消失
} else {
target.botIds = [];
}而后端 const botIds = hasOwn(target, 'botIds') ? ...新值... : prior?.target.botIds;两边拼起来,用户把 chips 全删光再保存,旧的 botIds 会原封不动留在库里。起真实 症状对用户是即时可见的:保存后 UI 用服务器返回的 connector 刷新本地状态, 「把触发机器人换成原本是附加项的那个」也是同一个缺口:prior 顺带一提,这个 建议:去掉 if (form.mode === 'new-group') {
target.botIds = normalizeConnectorBotIds(form.botId, form.additionalBotIds);
} else {
target.botIds = [];
}只有触发机器人时发 另外现有单测正好跳过了这一格——覆盖了 2. 新增的全局 CSS 会波及 8 个无关搜索框(建议收窄作用域)input[type=search]:not([type=checkbox])...:not([type=button]) { padding-left: 32px; }这条没有作用域,命中全仓所有 即总共改动 9 处,其中 8 处是误伤:7 个没有搜索图标,32px 是纯空白; 根因其实是特异性,不是缺规则:仓库里本来就有一条作用域规则 .connectors-page .cn-form .connector-group-search > input[type="search"] { padding: 0 12px 0 34px; }但它 建议:给这条已有规则补上同样的 放大镜手柄 补充说明:这个 PR 的 base 落后 master 17 个 commit,所以 GitHub 上 diff 会显示 103 个文件(大部分是主干漂移),实际改动是 4 个文件 +239/-15。我本地基于最新 以上是自动评审的初步意见,可能有理解偏差,最终以维护者审阅为准。第 2 点如果你有别的考虑(比如是想统一所有搜索框的观感)也完全可以讨论,我这边只是从「影响面最小」的角度给个建议。辛苦了! |
|
补充更正一处 —— 上一条评论第 2 点里我写了「误伤 8 处」,但表格只列出了 7 个站点名,数字和清单对不上,是我漏列了一行,抱歉。补上: 这是 sessions 页里两个不同的 CLI 筛选搜索框: 所以完整清单是 目标 1 处 + 误伤 8 处,8 处里 sessions 页占两个( 有一点需要说明清楚,免得你去核的时候困惑: 这不影响第 2 点的建议本身——收窄作用域的改法对这 8 处(无论可见与否)都是一次性解决,实测除目标站点外其余采样点逐点不变。 第 1 点( |
0f46a62 to
d3ea8f1
Compare
改了什么
target.botIds,包含触发机器人和已选附加机器人并去重。botIds,避免旧配置残留。为什么
后端已经支持 new-group 模式通过
target.botIds固定邀请多个机器人,但 Dashboard 之前只暴露了「触发的机器人」单选,无法直接配置一并邀请的机器人,需要通过 API 手工补字段。
影响面
SearchableGroupPicker只增加可选展示能力,现有固定群/允许群选择逻辑保持原样。测试
bun run test -- test/dashboard-connectors.test.tsbun run dashboard:bundlebun run buildtarget.botIds