fix(web-shell): show full session names on hover - #7662
Conversation
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Code Coverage Summary
CLI Package - Full Text ReportCore Package - Full Text ReportFor detailed HTML reports, please see the 'coverage-reports-22.x-ubuntu-latest' artifact from the main CI run. |
|
Thanks for the PR! Template looks good ✓ Problem: Real UX limitation — truncated session names in the Web Shell sidebar can't be read in full. This is self-evident and observable by anyone using the sidebar with long session names. No linked issue, but the problem doesn't need one. Direction: Aligned. Native Size: Not applicable — no core paths touched. All changes are in Approach: The scope feels right — three Moving on to code review. 🔍 中文说明感谢贡献! 模板完整 ✓ 问题:真实的 UX 局限——Web Shell 侧边栏中被截断的会话名称无法查看完整内容。这对任何使用长会话名称的用户来说都是显而易见的。虽然没有关联 issue,但这个问题不需要 issue 来证明。 方向:对齐。原生 规模:不适用——未触及核心路径。所有改动都在 方案:范围合理——在现有的会话名称 span(活跃、归档、只读)上添加三个 进入代码审查 🔍 — Qwen Code · qwen3.8-max-preview Reviewed at |
Code ReviewIndependent proposal: I'd add the HTML The PR does exactly this. The diff is three Tests verify the No findings. TestingCI results at reviewed commit
Not verified: visual appearance of the native tooltip (browser/OS-controlled, no custom styling to validate). 中文说明代码审查独立方案:在侧边栏中每个会话名称 PR 正是这样做的。diff 是在现有 span 上添加三个 测试验证了 无发现。 测试审查时 commit
未验证:原生 tooltip 的视觉外观(由浏览器/操作系统控制,无自定义样式需验证)。 — Qwen Code · qwen3.8-max-preview Reviewed at |
|
Confidence: 5/5 — Clean across every stage; would merge without hesitation. This is what a good PR looks like: a real, observable problem (truncated session names you can't read), solved with the minimum possible code (three 中文说明置信度:5/5 —— 每个阶段都很干净;毫不犹豫地合并。 这是一个优秀 PR 的典范:一个真实、可观察的问题(被截断的会话名称无法阅读),用最少的代码解决(三个 — Qwen Code · qwen3.8-max-preview Reviewed at |
qwen-code-ci-bot
left a comment
There was a problem hiding this comment.
LGTM, looks ready to ship. ✅
🖼️ web-shell visual previewRendered against a mock daemon (no real backend): the PR base vs this PR head Screenshots · before / afterℹ️ No screenshot changed against the PR base — but this PR edits 2 render-shaping files:
Either the change has no visual effect (logic, plumbing, a state the scenarios never reach), or no scenario renders this UI — in which case the preview cannot see it, and an empty result is a coverage gap rather than a clean bill of health. To make it visible, add a scenario to Full-resolution recordings (.webm) are attached to the workflow run. — Qwen Code · web-shell visuals |
qwen-code-ci-bot
left a comment
There was a problem hiding this comment.
Reviewed — no blockers. Suggestions are inline.
— qwen3.7-max via Qwen Code /review
|
@qwen-code /takeover |
|
🤝 Takeover engaged: the autofix loop now manages this PR — it will address new review feedback and resolve base conflicts until the label is removed or the round cap is reached. Remove the 中文说明🤝 已接管:autofix 循环现在管理此 PR —— 将持续处理新的评审反馈与 base 冲突,直到移除标签或达到轮次上限。移除 |
|
🤖 Addressed the latest review feedback (round 1/100). What changed, and what I pushed back on: · 已处理最新评审反馈(第 1/100 轮)。改动内容与我反驳保留之处如下: Review feedback addressedInline comment [rc:3644809398] — Archived session tooltip test coverageClassification: Optional (Suggestion) Decision: Implemented. Change: Added a test case Issue-level comments
Verification
中文说明已处理的评审反馈行内评论 [rc:3644809398] — 归档会话 tooltip 测试覆盖分类: 可选(建议) 决定: 已实现。 变更: 在 Issue 级别评论
验证
Base-conflict check · 基分支冲突检查: no conflict with main. · 与 main 无冲突。 Re-review when you have a moment. After round 100 this bot stops and leaves the PR for a human. · 有空请复审;第 100 轮后本 bot 停止并将 PR 交给人工。 🧠 Handled by Qwen Code · model/模型 |
qwen-code-ci-bot
left a comment
There was a problem hiding this comment.
No issues found. LGTM! ✅
— qwen3.7-max via Qwen Code /review
ytahdn
left a comment
There was a problem hiding this comment.
LGTM. 三处 session name 添加 title={label} native tooltip(active / archived / read-only workspace),截断时 hover 可见完整名称。测试覆盖 3 个场景。
— qwen3.7-plus via Qwen Code /review



What this PR does
Adds a lightweight native tooltip to session names in the Web Shell sidebar, including active, archived, and read-only workspace session rows. Existing single-line truncation remains unchanged, while hovering the name exposes the complete label.
Why it's needed
Long session names are truncated to preserve the sidebar layout, but users currently have no direct way to read the complete name from the session row. A native tooltip provides that information without adding custom overlay state, positioning logic, or visual noise.
Reviewer Test Plan
How to verify
Open the Web Shell with a session whose display name is wider than the sidebar. Confirm the row remains truncated with an ellipsis, then hover the session name and verify the browser displays the complete label. Repeat for an archived session and a read-only session under an untrusted workspace. The focused unit tests passed with 19 tests, and the Web Shell TypeScript typecheck and Prettier checks passed.
Evidence (Before & After)
Before: Truncated session names could not be read in full directly from the sidebar row.
After: Hovering a session name displays its complete label through the browser's native tooltip while preserving the existing truncated layout.
Tested on
Environment (optional)
Local Vitest and TypeScript checks on macOS.
Risk & Scope
Linked Issues
None.
中文说明
这个 PR 做了什么
为 Web Shell 左侧栏中的会话名称增加轻量的浏览器原生 tooltip,覆盖活跃会话、归档会话和只读工作区会话。现有单行截断行为保持不变,鼠标悬停在名称上时可以查看完整标签。
为什么需要
较长的会话名称会被截断,以保持侧边栏布局稳定,但用户目前无法直接从会话行查看完整名称。使用浏览器原生 tooltip 可以补充完整信息,同时无需增加自定义浮层状态、定位逻辑或额外视觉干扰。
Reviewer 测试计划
如何验证
打开 Web Shell,并准备一个显示名称宽度超过侧边栏的会话。确认会话行仍使用省略号截断,然后将鼠标悬停在会话名称上,验证浏览器显示完整标签。对归档会话和未信任工作区下的只读会话重复验证。相关单元测试共 19 项均通过,Web Shell TypeScript 类型检查和 Prettier 检查也已通过。
前后效果证据
修改前:侧边栏中被截断的会话名称无法直接查看完整内容。
修改后:悬停会话名称时,浏览器原生 tooltip 会显示完整标签,同时保留现有的截断布局。
测试系统
环境(可选)
在 macOS 上运行本地 Vitest 和 TypeScript 检查。
风险与范围
关联 Issue
无。