Wide Home hover leaves the matching preview blank
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 新手友好度
- 82/100
- Issue 类型
- 缺陷
- 描述清晰度
- 描述清楚
- 活跃度
- 活跃
- 技术栈
- go
- 领域
- cli, testing-qa
调研方向
Start by running the seeded tmux test TestTUIE2E/hover_previews_the_match_under_the_pointer in ./internal/e2e. Trace selection ownership through app.homeHover, homeView.previewLine, and app.homeDetail in internal/tui3/home.go, then check the related unit coverage. Done means both hover scenarios render the hovered match and stale pointer events cannot override newer keyboard input.
由索引模型根据 Issue 内容生成。
描述
What happened
REGRESSION seen on commit 17ae56d34 (staging-20260921-17ae56d3496f) on 2026-09-21. Lane C, hover_previews_the_match_under_the_pointer, showed the search matches Seed Gamma, Seed Beta, and Seed Alpha, but the detail side stayed blank:
hovering `Seed Beta` did not move the card onto it
On v0.3.0 (9258f7052), the same focused subtest passed and previewed the hovered match. This is likely related to docs/changes/unreleased/1071-approvals-wheel.md, which says: Mouse hover no longer overrides a later keyboard selection. The most recent navigation method owns the single selection.
Replication
Deterministic (no model).
Run the seeded, focused tmux subtest; it needs no model key:
go test -tags e2e -count=1 -v ./internal/e2e -run '^TestTUIE2E/hover_previews_the_match_under_the_pointer$'
Today it exits nonzero with the failure quoted above while the right-hand card remains blank.
Field (real models).
No real-model run is needed: the seeded Home fixture reproduces in roughly 30 seconds and the v0.3.0 run of the same subtest is the control.
Where
The relevant hover and detail seams are app.homeHover, homeView.previewLine, and app.homeDetail in internal/tui3/home.go. The report identifies selection ownership as the likely area, but does not establish a code-level cause.
The fix
On wide Home, moving the pointer onto a search result must make that result the current selection and render its preview card. Keyboard input may subsequently take ownership, but an earlier keyboard selection must not suppress a newer hover.
Acceptance
- e2e: Through
TestTUIE2E/hover_previews_the_match_under_the_pointerin tmux, hoverSeed Beta, assert the detail card containsSeed Beta, is not blank, and exit 0. - e2e: Through the same seeded Home, select
Seed Alphaby keyboard and then hoverSeed Gamma; assert exactly one selection and a detail card containingSeed Gamma. - Unit: The selection-owner transition from keyboard to a newer pointer event changes
previewLineto the hovered row; a stale pointer event cannot override newer keyboard input. - The manual page
internal/manual/chat/home.mdquotes the hover-preview behavior, and the change entry'sinvalidatesnames the old belief that retaining keyboard ownership should suppress later hover.
Filed from the 2026-09-21 staging verification of 17ae56d34; the lane reports, frames and e2e logs are in the owner's handoff folder for this promotion.
- 主要语言
- Go
- 星标
- 115
- 派生
- 14
- 平均合并
- 9 小时 37 分钟
- 30 天内合并 PR
- 755
环境准备
我们还没有检查这个项目的环境配置文件。先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
Agent-Field/CodeAF 的其他 Issue
-
area:chat bug sev:papercut
难度 2/5 1-3 小时 新手友好度 86/100
Agent-Field/CodeAF#1592 ·
维护者通常 1 天内回复
-
area:headless bug sev:critical
难度 2/5 1-3 小时 新手友好度 88/100
Agent-Field/CodeAF#1566 · 已指派 1 人 ·
维护者通常 1 天内回复
-
area:chat feature
难度 2/5 1-3 小时 新手友好度 88/100
Agent-Field/CodeAF#1510 ·
维护者通常 1 天内回复
-
area:tests bug
难度 2/5 1-3 小时 新手友好度 82/100
Agent-Field/CodeAF#1489 ·
维护者通常 1 天内回复
-
area:chat bug good first issue sev:papercut
难度 2/5 1-3 小时 新手友好度 78/100
Agent-Field/CodeAF#1470 ·
维护者通常 1 天内回复
查看 Agent-Field/CodeAF 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 88/100
rossoctl/context-guru#346 ·
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 90/100
prime-radiant-inc/evener#2883 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 88/100
gravitational/teleport#69805 ·
维护者通常 11 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 1 天内回复
-
Under Poisson sampling, the `PLDAccountant` composes the inner event both before and after sampling未关闭
难度 2/5 半天 新手友好度 78/100
google/differential-privacy#496 ·