diff --git a/nebula_app/src/display/hint.rs b/nebula_app/src/display/hint.rs index 719c4e5..0f7c294 100644 --- a/nebula_app/src/display/hint.rs +++ b/nebula_app/src/display/hint.rs @@ -777,12 +777,12 @@ mod tests { #[test] fn shell_prompt_symbols_are_not_part_of_clickable_home_paths() { for (text, expected) in [ - ("hello@userdk:/mnt/d/temp_build/nebula$ ", "/mnt/d/temp_build/nebula"), + ("alice@workstation:/mnt/d/project$ ", "/mnt/d/project"), ("root@host:/root# ", "/root"), ("user@host:/# ", "/"), - ("hello@userdk:~/.codex$ ", "~/.codex"), + ("alice@workstation:~/.codex$ ", "~/.codex"), ("root@host:~/work# ", "~/work"), - ("hello@userdk:~/工作文档$ echo test", "~/工作文档"), + ("alice@workstation:~/工作文档$ echo test", "~/工作文档"), ("~/cost$ ", "~/cost$"), ("~/repo# ", "~/repo#"), ("https://example.com/cost$ ", "https://example.com/cost$"), diff --git a/nebula_app/src/gpui_shell/terminal/link_underline.rs b/nebula_app/src/gpui_shell/terminal/link_underline.rs index 6cecc43..9d73d3c 100644 --- a/nebula_app/src/gpui_shell/terminal/link_underline.rs +++ b/nebula_app/src/gpui_shell/terminal/link_underline.rs @@ -91,12 +91,10 @@ mod tests { .sum(); std::hint::black_box((cells, segments)); } - use std::io::Write as _; - let _ = writeln!( - std::io::stderr().lock(), + crate::gpui_shell::try_write_stderr(format_args!( "{name}: 120x40 grid, {last_cells} linked columns, {:.1} us/pass (capture + dash geometry, no GPU)", started.elapsed().as_secs_f64() * 1_000_000.0 / 200.0 - ); + )); } } diff --git a/scripts/tests/user-feedback-regressions.md b/scripts/tests/user-feedback-regressions.md index fbf13ac..8f90512 100644 --- a/scripts/tests/user-feedback-regressions.md +++ b/scripts/tests/user-feedback-regressions.md @@ -33,10 +33,20 @@ Windows 右键菜单反馈。它是验收合同,不表示下列功能已经全 | LINK-CJK | OSC 8 中文/全角字符的虚线只画半字、错位 | 从真实 VT 输出构建网格,中文两格、空格、ASCII、组合字符均按列覆盖;逐格绘制与连续区间的物理像素集合相同 | `A开始 菜单Z`、纯中文、混排;DPI/分屏/窄窗/换行;不随字体回补或字形分段重置虚线 | 真实 OSC 8 网格与 16 种 DPI/格宽组合像素覆盖回归通过;原生 Nord / Paper 混排截图已核对 | | LINK-PATH | 英文路径下划线断开,带空格路径只匹配前半段 | 连续虚线相位;引号包围的盘符/UNC/`~/` 路径完整匹配;hover、点击使用同一边界;普通正文不误连 | `"C:\Program Files\Example Tools\probe.exe"`、中文与括号目录、相邻命令参数、路径换行 | 8 项 hint 测试与 5 项配置解析测试通过;原生带空格路径截图已核对 | | LINK-PROMPT | WSL `user@host:~/.codex$` 吞入 `$`;绝对路径提示符没有下划线 | `~/` 与 `/mnt/d/...` 提示符中的 `$`/`#` 不可点;真实文件名 `~/cost$`、URL 尾部 `$`、路径内部 `$` 保留;下划线与命中边界一致 | Bash/WSL 彩色提示符、root 提示符、输入命令后、换行;OSC 8 显式 URI 不被启发式改写 | 正反匹配/命中回归通过;绝对路径打开应使用所属 WSL 发行版,不得套用宿主目录或 SSH 目标 | -| CODEX-SPARKLE | 对照终端 中可见的 Codex 星点在 Pebrel 不显示 | 核对真彩色能力、OSC 10/11 回答、盲文点字与前/背景色;真实 PTY 录制/回放;关闭动画时不强制产生动画 | 相同 Codex/模型/设置,对照 WT;启动、输入、弹窗遮挡、焦点、主题切换;不能伪造 `WT_SESSION` 来冒充 WT | 完整 Windows 子环境漏真彩色声明已修复;8 项环境回归及 15 主题 VT 回放通过;真实产品星点字形/背景截图已核对;真实 Codex 动画仍需验收 | +| CODEX-SPARKLE | 对照终端 中可见的 Codex 星点在 Pebrel 不显示 | 核对真彩色能力、OSC 10/11 回答、盲文点字与前/背景色;真实 PTY 录制/回放;关闭动画时不强制产生动画 | 相同 Codex/模型/设置,对照 WT;启动、输入、弹窗遮挡、焦点、主题切换;不能伪造 `WT_SESSION` 来冒充 WT | 完整 Windows 子环境漏真彩色声明已修复;8 项环境回归、10 项身份/WSL 透传回归及 15 主题 VT 回放通过;真实产品星点字形/背景截图已核对;真实 Codex 动画仍需验收 | | CODEX-MESSAGE | **所有主题**的 Codex 用户消息与 AI 回复背景缺少区分 | 保留/正确映射应用给出的用户消息背景;未提供背景时不得凭屏幕文字猜测角色;消息文本对比度不退化 | 遍历主题注册表中的全部内置主题;输入框与已发送的单/多行、中英混排消息;深浅切换、滚动回看;用户消息应有可辨认浅色背景区 | 15 个内置主题 + 225 种主题切换的背景保留回归通过;真实产品 Nord / Paper 的背景和星点截图已核对;其余主题有自动回放覆盖,仍需原生视觉抽查 | | SHELL-MENU | 多个 WSL 发行版把资源管理器右键菜单铺满 | 保留一个普通“在 Pebrel 中打开”;其余发行版集中到一个级联菜单;零/一/多个发行版、重复安装、移除发行版、卸载与旧项迁移 | 文件夹对象/文件夹空白处;中文/空格/盘根路径;点击普通项与每个子项验证 Shell 和 cwd;保留第三方/其他安装拥有的键 | 已实现;真实 Inno 夹具累计 117 项通过,完整安装器编译通过;正式 Explorer 点击验收仍需进行 | +## 修复与评审入口 + +- Hook 命令及退出期限:[PR #260](https://github.com/Kuddev/pebrel/pull/260),关联 #254 / #255 及 #258 的前置占用故障。 +- 同版本修复判定:[PR #261](https://github.com/Kuddev/pebrel/pull/261),关联 #258。 +- 下划线与路径边界:[PR #262](https://github.com/Kuddev/pebrel/pull/262)。 +- Windows / WSL 真彩色能力:[PR #263](https://github.com/Kuddev/pebrel/pull/263),关联 #136。 +- WSL 级联菜单:[PR #264](https://github.com/Kuddev/pebrel/pull/264)。 + +本地组合回归与各 PR 的 CI、Code Owner 评审是不同证据;未合并、未发布不能写成已经交付。 + ## 当前测试入口 ```powershell