[Bug]: Pen taps on sidebar rows start a drag and lose their click
维护者通常 1 天内回复
评估
- 难度
- 2/5
- 预计耗时
- 1-3 小时
- 新手友好度
- 62/100
- Issue 类型
- 缺陷
- 描述清晰度
- 描述清楚
- 活跃度
- 活跃
- 技术栈
- typescript
- 领域
- frontend
调研方向
先阅读传感器如何记录 pointerdown,以及它何时切换到拖拽模式并安装点击抑制器。阈值位于 SIDEBAR_DRAG_DISTANCE 中,由 apps/web/src/components/Sidebar.pointer.ts 中的 SidebarPointerSensor 应用,并在 apps/web/src/components/Sidebar.tsx 中接入。完成的标准是:带有几个像素滑动的笔触仍会触发行的 onClick,鼠标拖拽行为以及固定、取消固定和唤醒按钮保持正确。请用将 pointerType 设为 pen 的指针事件测试来验证。
由索引模型根据 Issue 内容生成。
描述
AI-generated
"Generated" means mostly the model, "Edited" means mostly me.
Before submitting
- I searched existing issues and did not find a duplicate.
- I included enough detail to reproduce or investigate the problem.
Area
apps/web
Steps to reproduce
- On macOS, use a Wacom pen in pen (absolute) mode. Mine: Intuos S (CTL-4100WL) with Wacom Pen 4K; its 152 × 95 mm active area maps to a 1920 × 1080 pt display.
- Tap thread rows in the sidebar with the pen tip, 10–20 times.
Expected behavior
Every tap opens the thread.
Actual behavior
Some taps do nothing.
SidebarPointerSensor starts a row drag once the pointer moves more than SIDEBAR_DRAG_DISTANCE (6 px) from pointerdown, for every pointer type (Sidebar.tsx#L854, Sidebar.pointer.ts#L72-L82). Once dragging, it installs a document-capture click suppressor, so the row's onClick never runs.
On this tablet 6 px is about 0.5 mm of tip travel (152 mm / 1920 pt × 6). A pen tip slides that far during an ordinary tap; a mouse stays still while clicking. Chromium itself allows 20 px for a stylus click by default and 10 px on ChromeOS (gesture_configuration.h, gesture_configuration_aura.cc).
The same sensor backs the settle, un-settle and wake sweep buttons, so pen taps on them are affected too.
Impact
Minor bug or occasional failure
Version or commit
T3 Code (Beta) 0.1.3; the code above is unchanged on main @ 5211acfe95.
Environment
macOS 26.6.2, Electron 44.9.3, Wacom driver 6.4.6-3
Logs or stack traces
No response
Screenshots, recordings, or supporting files
No response
Workaround
Press without sliding the tip, then pause longer than the double-click interval before a retry: quicker retries arrive with detail > 1 and are skipped (#22058).
Related: #22058 (same symptom, other causes), #25442 (zero-button move before pointerup).
- 主要语言
- TypeScript
- 星标
- 24.8k
- 派生
- 6.4k
- 平均合并
- 2 小时 54 分钟
- 30 天内合并 PR
- 350
环境准备
在浏览器里用你自己的 GitHub 账号启动这个项目的开发容器。
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
pingdotgg/t3code 的其他 Issue
-
[Bug]: Guest messages near the 4,000-char limit fail with 400 "The request was not valid." because multipart turns \n into \r\n可能已有人在做 @juliusmarminge 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 76/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 74/100
pingdotgg/t3code#26523 · 1 条评论 ·
维护者通常 1 天内回复
-
[Bug]: preview_evaluate forbids WebMCP write tools even when the user explicitly asks for the change可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭bug needs-triage
难度 2/5 1-3 小时 新手友好度 74/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 74/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 60/100
pingdotgg/t3code#26340 · 1 条评论 ·
维护者通常 1 天内回复
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 78/100
gnosis/gnosis_vpn#661 ·
维护者通常 1 天内回复
-
content-freshness: staleOwnedContent doc comments still say 'complete receipt' (follow-up to #7912)未关闭triage:bug-verified
难度 1/5 1 小时以内 新手友好度 92/100
维护者通常 1 天内回复
-
fix: reject sourceStorage/packagedStorage bucket that differs from the stack default (fail loud)未关闭
难度 2/5 1-3 小时 新手友好度 82/100
Eyevinn/open-videocore#1300 ·
维护者通常 1 天内回复
-
nextjs-tracking
难度 2/5 1-3 小时 新手友好度 67/100
cloudflare/vinext#4390 ·
维护者通常 1 天内回复
-
kind/bug
难度 2/5 1-3 小时 新手友好度 82/100
kubernetes-sigs/headlamp#8175 ·
维护者通常 2 天内回复