Releases: ThinkofRain1213/dsh-smooth-cursor-patched
Releases · ThinkofRain1213/dsh-smooth-cursor-patched
Release list
v0.1.9-patched.2 — 空光标 / 划词 / 换行 / 滚动越界修复 + 询问界面
相对上游的修复
上游 dsh-smooth-cursor v0.1.7 在以下场景存在可复现的缺陷,本版本逐项修复:
- 空内容与初次聚焦保活 — 上游在空输入框或初次点击时,光标测量拿到零高度矩形,导致光标不显示。本版为富文本输入框增加分层测量与空行兜底。
- 双向划词跟手 — 上游固定取选区第 0 个矩形,正向拖选(从左往右)时光标不跟鼠标。本版按选区方向(
selectionDirection)选择首/末矩形,并把选区终点与方向纳入重测签名。 - 换行空行精准拦截 — 上游依赖
range.getBoundingClientRect(),在空行上会拿到 Chromium 回溯吸附的矩形,光标停留在上一行末尾。本版在软换行与空段落处优先实测该行自身的<br>高度。 - 视口物理纵向裁剪 — 上游没有裁剪,长文本滚动时超界光标会漂浮到聊天区或工具栏上方。本版按输入框滚动视口剔除并裁切。
- 覆盖询问界面 — 上游只覆盖
textarea[data-phase]。本版同时覆盖ask_user_question交互卡片的作答输入框。 - 光标呼吸(新增) — 对齐 VS Code / 原生 500ms 节拍:无操作 0.5 秒后呼吸,打字时常亮,可在设置中独立开关。
本仓库的构建修复
分离为独立仓库的过程中,CI 抓到两个真实的构建缺陷(本地可复现、跨机器不可复现):
- CSS Module 哈希依赖绝对路径 — 构建把源码绝对路径同时用作 rolldown 虚拟模块 id 与 lightningcss 的
filename。后果有两个:已发布产物里嵌入了构建机的本地路径;且同一份源码在不同目录构建出不同类名。现在改为仓库相对路径。 - sourcemap 内嵌 CRLF —
lib/client.js.map的sourcesContent会内嵌源码原文,Windows 检出(CRLF)与 Linux(LF)产出的 map 不同。现在所有文本按 LF 检出。
两项均已验证:把同一棵树复制到另一个不同名字的目录构建,产物字节完全相同。
安装
dsh plugin --profile web add dsh-smooth-cursor-patched或从 GitHub:
dsh plugin --profile web add github:ThinkofRain1213/dsh-smooth-cursor-patched安装后重启 dsh web 并强制刷新页面。
说明
- 本仓库目前没有自动化测试。 CI 是构建门禁(类型检查 / 构建 / loader-id 契约 / 产物新鲜度),不是行为门禁——它证明不了光标在浏览器中的实际表现。
- 版本号
-patched.N属 prerelease,但已显式发布到 npm 的latest标签,因此dsh plugin add dsh-smooth-cursor-patched可直接安装。 - 上游自 2026-09-09 起未再更新。上游若恢复维护,本分支将优先回归上游。