From b204029b57e6ca9e8725163d45832f51a7423094 Mon Sep 17 00:00:00 2001
From: chujieHong <2280628443@qq.com>
Date: Wed, 19 Aug 2026 16:22:08 +0800
Subject: [PATCH] fix(channels): add missing internal scroll to channels panel
in fill layout
The Personalization channels tab clips overflowing cards when the page is
zoomed: the fill layout's fillChild is overflow:hidden and ChannelsPanel
had no flex:1 nor a scroll container between the toolbar and the card
grid, so cards pushed below the viewport could never be reached.
Mirror the Skills tabbedBody pattern: pin the toolbar, wrap the grid (and
the loading skeleton) in a scrollable body (flex:1, min-height:0,
overflow:auto, 8px top padding so card hover lift stays inside the
scrollport). Mobile keeps page-level scrolling via a max-width:767px
override, matching fillChild. The Experts ChannelCatalogDrawer embed is
unaffected (block wrapper makes flex:1 inert; auto-height overflow does
not scroll).
---
CHANGELOG.md | 1 +
.../pages/Agent/Channels/ChannelsPanel.tsx | 48 ++++++++++---------
.../pages/Agent/Channels/index.module.less | 19 ++++++++
3 files changed, 46 insertions(+), 22 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9455df3079..776cb6f409 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -14,6 +14,7 @@
- 插件工具使用中文等非 ASCII 名称时 LLM 调用失败:主流 API 要求工具名匹配 `^[a-zA-Z0-9_-]{1,64}$`,现自动将非法名称转写为合法拼音名(`pypinyin` 缺失时退回下划线替换),冲突追加 `_2`/`_3` 后缀,并在工具描述前缀 `[原名: …]` 保留原名映射;`config_json.plugins` 配置键与插件内部仍使用原始名称,路由不受影响
- 修复聊天页在"生成中"时于输入框持续打字导致消息列表上下轻微抖动的问题:输入框高度测量改为在离屏克隆节点上进行,不再瞬态改变页面布局
+- 修复个性化「通道」面板在页面放大后不出现纵向滚动条、被挤出的通道卡片无法查看的问题:工具栏固定、卡片网格改为内部滚动区(与技能面板一致),移动端仍整页滚动
## [0.9.24] - 2026-08-15
diff --git a/dashboard/src/pages/Agent/Channels/ChannelsPanel.tsx b/dashboard/src/pages/Agent/Channels/ChannelsPanel.tsx
index 9c0971f7a6..de4c6d091f 100644
--- a/dashboard/src/pages/Agent/Channels/ChannelsPanel.tsx
+++ b/dashboard/src/pages/Agent/Channels/ChannelsPanel.tsx
@@ -394,29 +394,33 @@ export default function ChannelsPanel({ agentId }: ChannelsPanelProps) {
{loading && channels.length === 0 ? (
-