Conversation
Co-Authored-By: Claude <noreply@anthropic.com>
官方市场 292 个插件全量渲染时每行 7 个 Tooltip,累计约 2000 个浮层实例。 改用 @tanstack/react-virtual 只渲染可视行,并把单行抽成 memo 组件, 让展开详情、启用插件等操作只重渲染受影响的那一行。 配套处理虚拟化带来的行为与结构问题: - 行动作依据「是否已配置」(enabledMap.has)而非「是否启用」, 避免已配置但禁用的插件丢失管理入口 - 筛选/排序变化时归零滚动偏移,防止列表停在新结果集尾部 - 表头移入滚动容器并 sticky,消除滚动条宽度导致的列错位 - 按描述折行与组成徽章派生估算行高,消除滚动条滑块首帧突缩 - getItemKey 与行渲染加越界保护(indexFromElement 可能返回 -1) - pluginsRef 改为 effect 内同步,并在 updater 内幂等去重 - 虚拟化列表补 role=list 与 aria-setsize/aria-posinset - getProviderAffiliation 下沉到 marketplace-catalog,收敛行组件导出面 - 测试按元素分派 offsetHeight 打桩并补齐 scrollTop 的 scroll 事件, 替换「行高等于视口高度」的退化几何 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Windows PowerShell 5.1 读取无 BOM 的 .ps1 时按系统代码页(简中 CP936) 解码,UTF-8 中文注释错位后残留的悬空 lead byte 会吞掉行尾换行,使下一行 代码并入注释并触发 ParserError,状态行整行无输出。 - 新增 expected_status_line_script():Windows 落盘前置 UTF-8 BOM,非 Windows 保持裸内容(Bash 带 BOM 会让 shebang 失效);写入与幂等比较 共用该来源,避免带 BOM 的脚本被误判为用户自定义而要求覆盖确认 - statusLine.command 的脚本路径加引号,修复用户名含空格时 -File 参数 在空格处被截断 - default.ps1 显式以 UTF-8 读取 stdin,修复含中文目录名与 session_name 的 JSON 乱码;OutputEncoding 改用无 BOM 实例,避免输出头混入 EF BB BF Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
claude_cli.rs 测试模块整体加 #[cfg(all(test, unix))],使 Windows 上 cargo clippy --all-targets -D warnings 不再因未使用导入与未构造结构体而失败。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
概要
合并 dev 到 main,含 1 个新供应商、1 项列表性能优化和 3 个修复,共 5 个提交(28 文件,+1575/-394)。
变更
新功能
feat(provider)新增 OpenCode Go 内置供应商,并按 slug 把认证字段切换为ANTHROPIC_API_KEY(ab6f211)性能
perf(plugins)插件浏览列表改用@tanstack/react-virtual只渲染可视行,单行抽成 memo 组件(4fd3f2f)。官方市场 292 个插件全量渲染时每行 7 个 Tooltip、累计约 2000 个浮层实例;虚拟化后展开详情、启用插件只重渲染受影响的那一行。配套修正了行动作依据(改为「是否已配置」而非「是否启用」,避免已配置但禁用的插件丢失管理入口)、筛选/排序后滚动偏移归零、表头 sticky 消除列错位等问题。fix(profile-editor)优化市场插件列表行高估算(46887b5)修复
fix(statusline)修复 Windows 状态行不显示(c7f58b8)。PowerShell 5.1 读取无 BOM 的.ps1时按系统代码页(简中 CP936)解码,UTF-8 中文注释错位后残留的悬空 lead byte 会吞掉行尾换行,使下一行代码并入注释并触发ParserError,状态行整行无输出。修复包含三部分:expected_status_line_script(),Windows 落盘前置 UTF-8 BOM,非 Windows 保持裸内容(Bash 带 BOM 会让 shebang 失效);写入与幂等比较共用该来源,避免带 BOM 的脚本被误判为用户自定义而要求覆盖确认statusLine.command的脚本路径加引号,修复用户名含空格时-File参数被截断default.ps1显式以 UTF-8 读取 stdin,修复含中文目录名与 session_name 的 JSON 乱码;OutputEncoding改用无 BOM 实例fix(claude)修复 GUI 环境下 CLI 定位(82763e5)验证
c7f58b8在本机(macOS)通过make fmt-rust-check、make check、make lint-rust、make test-rust(483 passed / 0 failed)与no-hardcoded-user-paths守护测试。其余 4 个提交已在各自推送时通过本地门禁。已知验证缺口:
c7f58b8新增的 4 个#[cfg(windows)]测试无法在 macOS 上执行(cargo check只编译非 Windows 分支,交叉编译受ring的 C 依赖阻塞),需由 CI 的windows-2025job 首次真实验证。修改后的default.ps1也未做语法解析验证(本机无 PowerShell),建议在 Windows 上重装一次状态行预设后用含中文目录名的 JSON 复验 stdin 编码路径。Reviewer 注意
版本号仍为
1.6.0(main 当前的f8681f6即为该版本的 bump 提交),本 PR 的 5 个提交尚未 bump 版本。如需发版,合并后另走发版流程。🤖 Generated with Claude Code