Skip to content

feat(dashboard): 移除侧边栏搜索按钮#2212

Merged
KevinZhao merged 4 commits into
masterfrom
chore/remove-sidebar-search
Jun 21, 2026
Merged

feat(dashboard): 移除侧边栏搜索按钮#2212
KevinZhao merged 4 commits into
masterfrom
chore/remove-sidebar-search

Conversation

@KevinZhao

Copy link
Copy Markdown
Owner

背景

侧边栏顶部的搜索按钮(放大镜图标 + / 快捷键)只能过滤侧边栏内已有的会话列表,作用范围有限,体验价值不高。本 PR 移除整个 UX-P3 sidebar-search 特性。

改动

  • HTML (dashboard.html):删除 header 中的 #btn-sidebar-search 按钮、#sidebar-search 输入面板,以及相关 CSS(.sidebar-search*.session-list-filter-empty)。
  • JS (dashboard.js):
    • 删除 toggleSidebarSearch / closeSidebarSearch / initSidebarSearch / readSidebarSearchQuery / filterSessionsByQuery 及其 bindClickinitSidebarSearch() 调用。
    • renderSidebar 不再读取过滤查询,直接走项目分组渲染(保留 _lastSidebarData 缓存,其余路径仍在使用)。
    • 删除 / 全局快捷键。
  • 测试:同步移除已失效的契约测试 —— static_ux_contract_test.go 的两个 SidebarSearch 用例、dashboard_csp_test.go controls 表中的两条绑定项,以及 mobile_render.test.js 中针对搜索去抖的 e2e 用例。

验证

  • go build ./...
  • go vet ./internal/server/
  • go test ./internal/server/(全量)✅
  • playwright test mobile_render.test.js

侧边栏搜索按钮(btn-sidebar-search + `/` 快捷键)仅过滤侧边栏内
的会话列表,作用有限。移除整个 UX-P3 sidebar-search 特性:

- HTML: 删除 header 中的搜索按钮、搜索输入面板及相关 CSS
  (.sidebar-search*, .session-list-filter-empty)
- JS: 删除 toggleSidebarSearch/closeSidebarSearch/initSidebarSearch/
  readSidebarSearchQuery/filterSessionsByQuery 及其 bindClick/init 调用;
  renderSidebar 不再读取过滤查询,直接走项目分组渲染
- 删除 `/` 全局快捷键
- 同步移除相关契约测试(static_ux_contract_test.go 两个 SidebarSearch
  用例、dashboard_csp_test.go 两条绑定项)与 e2e 用例

go build / go vet / 全量 internal/server 测试 / mobile_render e2e 均通过。
@KevinZhao

Copy link
Copy Markdown
Owner Author

对抗性 review(独立 reviewer + 对发现做对抗验证):LGTM,零 finding。删除侧边栏搜索按钮无遗留引用(无 #2180/#2184 式 activeFilter 孤儿引用),keydown handler、CSP / static_ux 契约测试均与新 HTML 一致,无用户流程依赖被破坏。

@KevinZhao KevinZhao added the human-pr-reviewed-pass fix-pr-review v2 label Jun 21, 2026
@KevinZhao

Copy link
Copy Markdown
Owner Author

PR #2212 review (human)

  • 关联 issue: 无
  • 文件域: dashboard.{html,js}, dashboard_csp_test.go, static_ux_contract_test.go, test/e2e/mobile_render.test.js

Findings

No findings.

验证(针对 PR#2184 孤儿引用失败模式重点核查):

  • 孤儿引用:5 个被删 JS 函数(toggleSidebarSearch/closeSidebarSearch/initSidebarSearch/readSidebarSearchQuery/filterSessionsByQuery)及 initSidebarSearch() 调用点全仓无残留;_sidebarSearchDebounce 模块变量也已删。
  • DOM/CSS 删除完整#btn-sidebar-search/#sidebar-search 等元素及关联 CSS 全删;.hdr-btn.active 正确保留(其他按钮仍用)。
  • renderSidebar 清理filterQuery/filterActive 分支与死 guard 全删,残留 scope block 无副作用。
  • 测试对齐:CSP handler 表删两条 search 项;UXP3_SidebarSearchHelper/UXP3_SidebarSearchUI 两测全删;mobile debounce E2E 删除无残留引用。
  • / 快捷键 keydown handlerinitSidebarSearch 移除;不相关的 [ 折叠 handler 未动。
  • _lastSidebarData 缓存 正确保留,非搜索轮询路径仍消费。
  • cron_view.js:76 残留 sidebar-search 仅注释类比,无函数/DOM 依赖,低于 NIT 阈值。

VERDICT: PASS

cron-bot and others added 3 commits June 21, 2026 13:40
@KevinZhao KevinZhao merged commit ad85d37 into master Jun 21, 2026
12 of 14 checks passed
@KevinZhao KevinZhao deleted the chore/remove-sidebar-search branch June 21, 2026 13:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

human-pr-reviewed-pass fix-pr-review v2

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant