已开启
fix(webui): show full session title in sidebar hover tooltip #1107
fix(webui): show full session title in sidebar hover tooltip #1107
已开启
秦骨立创建于 5 天前
秦骨立
秦骨立
5 天前

问题

Issue #1000:webui 界面左侧会话列表,鼠标悬停时 tooltip 只显示工作目录(短目录),而不是会话标题的完整内容。长标题被截断后无法查看全文。

根因

webui/src/components/Sidebar.tsx 中 renderItem 的会话主按钮:

<button class="session-item-main" onClick={() => onSelect(s)} title={dir}>

title 绑定的 dir 是 shortDir(s.working_dir),所以悬停提示的永远是目录,而非标题。

修复

tooltip 改为两行:第一行完整会话标题,第二行短目录,两个信息都保留:

<button
  class="session-item-main"
  onClick={() => onSelect(s)}
  title={s.working_dir ? `${label}\n${dir}` : label}
>

无 working_dir 时(新建会话占位)退化为仅显示标题。

验证

  • tsc --noEmit 通过
  • npm test 全量 217 个测试通过

Fixes #1000

likedislike
合并受阻
秦骨立秦骨立
5 天前 关联了issue:[共创大赛]webui界面左侧鼠标移入标题显示的是工作目录而不是标题完整内容
atomgit-bot
atomgit-bot成员
5 天前 评论:

变更摘要

本 PR 修复 webui 左侧会话列表悬停提示显示内容不正确的问题:Issue #1000 中,Sidebar.tsx 的会话主按钮 title 属性绑定的是 shortDir(s.working_dir),导致悬停 tooltip 只显示工作目录而非会话标题。此次将 title 改为根据 s.working_dir 拼接的两行内容,第一行为完整会话标题 label,第二行为短目录 dir,从而在保留目录信息的同时展示完整标题,解决长标题被截断后无法查看全文的问题。

主要改动

  • 悬停提示内容调整: 将 renderItem 中会话主按钮 title 的绑定值由 dir 改为 ${label}\n${dir},使 tooltip 第一行显示完整会话标题、第二行显示短目录。
  • 无工作目录场景降级: 当 s.working_dir 为空时,title 回退为仅显示 label,适配新建会话占位项无目录信息的情况。
  • 按钮属性写法展开: session-item-main 按钮由单行写法展开为多行 JSX,class、onClick 与 title 属性分行书写,行为逻辑保持不变。
likedislike
不准确?
atomgit-bot
atomgit-bot成员
5 天前 评论:

代码审查

✅ 未发现问题

likedislike
不准确?
atomgit-bot
atomgit-bot成员
5 天前 评论:

AtomGit AI 助手使用指南

在 PR 评论中使用命令即可触发。支持在普通评论和代码行评论中使用。

功能 命令 说明
代码审查 /ai review 检查代码质量、潜在问题、安全风险
PR 摘要 /ai summary 生成 PR 变更内容的结构化摘要
代码解释 /ai explain 解释代码变更的逻辑和意图
自由提问 @atomgit-bot <问题> 询问关于本 PR 的任何问题
帮助 /ai help 显示此帮助信息

免责声明

AI 助手可能存在误判,请结合自身判断。可以对评论点 👍 或 👎 帮助我们改进。

likedislike
不准确?