Repository navigation
Conversation
Lithe Review结论: ⛔ 存在阻塞问题 Findings
Scope Check
Suggestions
Summary摘要扫描把昂贵的文件匹配移出 SwiftUI 渲染路径,并保留 workspace/snapshot/rule 身份和陈旧结果保护,方向与问题目标一致。当前缓存生命周期与请求替换的任务编排仍有可复现的状态一致性和响应性缺口;新增 accessibility 文案也没有走共享 i18n。修复后应重新核对快照更新、取消清理和固定工具链测试证据。 Verification
|
新请求直接启动,消费方离页、替换和重置及时解除等待;模型持有退出中的 已取消扫描,使用唯一工作 ID 拒绝陈旧结果,并正确处理共享消费方和释放。 从同一已应用快照捕获 request 和文件清单,保留现有 LSP 叶子订阅与热缓存。 加载无障碍名称复用 native.loading,原生测试注入真实语言资源并验证中英文 AX。 补齐并发、生命周期、持续快照刷新和原生布局测试,更新所有权笔记及功能矩阵。 同时整合已验证的 preview@0627017d,保留 PR 1lck#1551 原提交 59ea635 的历史。 验证:51 项 Swift 测试、35 项 i18n 测试、5 项补充原生测试和相关静态门禁通过。 本机 Swift 6.4/Xcode 27.1;固定工具链 CI、100ms 目标和 macOS13 验收仍待完成。
1lck
left a comment
There was a problem hiding this comment.
复核当前 head f9d28d9:未发现需要阻塞合并的问题。
旧评审针对 59ea635:最新实现已移除新扫描等待旧任务结束的依赖,使用工作 ID、消费者取消标记和缓存身份拒绝过期结果;补充保持同一 SettingsView 挂载时 README→Go→Java→README 的快照回归;加载提示复用 native.loading,并覆盖应用语言与父 locale 相反的场景。当前 Swift CI 已通过。
本次为静态代码与已有 CI 结果复核,未独立重跑测试或 GUI。100ms 性能目标、macOS 13 运行兼容性和固定工具链下 GUI 性能重测仍是已披露的验证边界。建议同步最新 preview 后由必需检查完成合并门禁;旧提交的阻塞评论不应直接作为当前 head 的结论。
There was a problem hiding this comment.
复核功能修订 f9d28d9,并检查同步 preview 后的 a5c4567:未发现新的阻塞性代码问题。
取消与过期结果隔离、保持 SettingsView 挂载的快照变化回归、native.loading 本地化已覆盖原评审问题。本次还修正两处因基线脚本迁移失效的 Agent Note 命令路径;本地 167 篇笔记检查及最新 Verify Agent Notes CI 通过。
功能判断依据静态审查及此前已有 CI;未独立重跑此 PR 的 GUI/性能测试。100ms 性能目标、macOS 13 实机兼容性仍待验证。当前仍应遵守仓库所需的独立审批和最新 CI 门禁,本次批准不代表可以绕过这些要求。
大型工作区反复进入“设置 › LSP”时,页面会在主线程为语言列表和插件提示重复遍历文件清单,导致高 CPU 和暂时无响应。本 PR 将识别移到工作区持有的后台摘要缓存,并减少设置页渲染中的重复插件发现和分栏尺寸测量;保留语言开关、状态与插件提示行为。
Closes #1550
改动
LanguageToolingFeatureModel持有项目语言使用摘要,以工作区身份、文件快照 UUID 和规范化匹配规则作为键;不遍历或哈希整个文件数组生成键,也不长期缓存文件名。native.loading;热缓存命中不重复发布相同的.ready。sizeThatFits(.unspecified);其他宿主保留原路径,实际窗口边界仍决定面板尺寸。LITHE_SETTINGS_LATENCY_TRACE=1诊断,按同一个真实鼠标输入 ID 关联接收、选择、就绪内容挂载、窗口更新和主队列可运行阶段;避免复用键盘/旧输入,离开时清理窗口观察者。该诊断不关闭正常 FPS 监视器。lsp-control-center-performance功能矩阵记录,保持pending。没有修改公开插件契约、Rust C ABI、设置存储格式或语言服务器启动协议。关闭设置时偶发约 168% CPU 峰值不在本次范围。
Lithe Review 修复与本轮验证(2026-10-28)
AppModel.objectWillChange已能刷新 LSP 叶子。补充保持同一完整 SettingsView 挂载、连续应用 README→Go→Java→README 四份快照的测试,settingsChanges保持 0。native.loading中英文词条;原生 AX 测试使用真实翻译资源,在相反父 locale 下直接断言 “Loading…” / “正在加载…”。preview@0627017d,保留原 PR 提交历史。51 项定向 Swift 测试、7 个 suite 通过;最慢改动测试为原生挂载用例,两种语言合计 1.332 秒,未超过 15 秒预算。35 项 i18n 测试通过。.artifacts/,未上传含本机路径的原始诊断。本轮定向测试命令:
./.agents/skills/write-stable-tests/scripts/test-stability-macos.sh \ --report .artifacts/test-stability/lsp-review.json --suite-timeout-seconds 1800 -- \ --build-system native --jobs 3 \ --filter 'LSPProjectUsageTests|LSPControlCenterPresentationTests|WorkspaceLanguageServerPreferencesTests|AppModelSettingsChangesTests|SettingsPageLatencyTraceTests|LitheSplitPaneCollapseTests|SettingsAppearanceContainerTests'原始版本已有验证与结果
0beb43c936f6上本 PR 的实现;随后已无冲突同步到preview@9a78c66790f2,不把早先的运行结果冒充最新基线或固定工具链 CI 结果。windowUpdated/mainQueueAvailable也不等于显示器物理呈现。preview@9a78c667上通过测试稳定性静态检查、服务边界、运行时包只读、应用构建安全、共享 i18n 检查、212 项功能矩阵、实际 base/head 矩阵变更门禁及 diff 检查。定向测试命令:
./.agents/skills/write-stable-tests/scripts/test-stability-macos.sh \ --report .artifacts/test-stability/lsp-layout-latency.json -- \ --build-system native --jobs 2 \ --filter 'LSPProjectUsageTests|LSPControlCenterPresentationTests|WorkspaceLanguageServerPreferencesTests|SettingsPageLatencyTraceTests|LitheSplitPaneCollapseTests|SettingsAppearanceContainerTests'CI 与待验证项
59ea6353已通过 Swift 6.3.3 / Xcode 26.6 的 Swift 测试和 ARM64 打包 CI;本次修复f9d28d91的固定工具链结果仍待新一轮 CI。PR 保持 Ready;本机使用 Swift 6.4 / Xcode 27.1。