From 5f2ca6c97513885db8e0eed2fbdbe0725296e8a8 Mon Sep 17 00:00:00 2001 From: wizardchen Date: Thu, 25 Jun 2026 23:31:22 +0800 Subject: [PATCH] fix(agent): reconcile agent stream mode and shared-agent readiness UX Derive stream pipeline from selectedAgentId to fix quick-answer/isAgentEnabled drift, gate configure actions for shared agents, and polish selector detail panel positioning. --- frontend/src/assets/dropdown-menu.less | 45 ++- frontend/src/components/AgentSelector.vue | 332 ++++++++++-------- frontend/src/components/Input-field.vue | 74 ++-- .../components/IntegrationsAgentFilter.vue | 18 +- .../src/composables/useChatStreamHandler.ts | 2 +- frontend/src/i18n/locales/en-US.ts | 2 + frontend/src/i18n/locales/ko-KR.ts | 3 + frontend/src/i18n/locales/ru-RU.ts | 2 + frontend/src/i18n/locales/zh-CN.ts | 2 + frontend/src/stores/auth.ts | 1 + frontend/src/stores/settings.ts | 25 +- frontend/src/utils/agent-mode.test.mjs | 59 ++++ frontend/src/utils/agent-mode.ts | 37 ++ frontend/src/utils/agent-readiness.test.mjs | 20 ++ frontend/src/utils/agent-readiness.ts | 9 +- frontend/src/views/chat/index.vue | 8 +- 16 files changed, 443 insertions(+), 196 deletions(-) create mode 100644 frontend/src/utils/agent-mode.test.mjs create mode 100644 frontend/src/utils/agent-mode.ts diff --git a/frontend/src/assets/dropdown-menu.less b/frontend/src/assets/dropdown-menu.less index 4c7ca3e5..61385f08 100644 --- a/frontend/src/assets/dropdown-menu.less +++ b/frontend/src/assets/dropdown-menu.less @@ -181,7 +181,38 @@ padding: 4px; min-width: 148px; animation: dropdownSlideIn 0.18s cubic-bezier(0.2, 0, 0, 1) both; - overflow: hidden; + overflow-x: hidden; + overflow-y: auto; + scrollbar-width: thin; + scrollbar-color: transparent transparent; + transition: scrollbar-color 0.2s ease; + + &::-webkit-scrollbar { + width: 6px; + } + + &::-webkit-scrollbar-track { + background: transparent; + } + + &::-webkit-scrollbar-thumb { + background-color: transparent; + border: none; + border-radius: 6px; + transition: background-color 0.2s ease; + } + + &:hover { + scrollbar-color: var(--td-scrollbar-color, rgba(0, 0, 0, 0.18)) transparent; + + &::-webkit-scrollbar-thumb { + background-color: var(--td-scrollbar-color, rgba(0, 0, 0, 0.18)); + } + } + + &::-webkit-scrollbar-thumb:hover { + background-color: var(--td-scrollbar-hover-color, rgba(0, 0, 0, 0.32)); + } } .t-dropdown__item { @@ -493,5 +524,17 @@ 0 0 0 0.5px rgba(255, 255, 255, 0.05), 0 2px 4px rgba(0, 0, 0, 0.12), 0 8px 32px rgba(0, 0, 0, 0.28); + + &:hover { + scrollbar-color: rgba(255, 255, 255, 0.22) transparent; + + &::-webkit-scrollbar-thumb { + background-color: rgba(255, 255, 255, 0.22); + } + } + + &::-webkit-scrollbar-thumb:hover { + background-color: rgba(255, 255, 255, 0.38); + } } } diff --git a/frontend/src/components/AgentSelector.vue b/frontend/src/components/AgentSelector.vue index 4c418111..7848e61a 100644 --- a/frontend/src/components/AgentSelector.vue +++ b/frontend/src/components/AgentSelector.vue @@ -1,11 +1,7 @@