修复: UX扩展审查P0批(后端git/路径确定性bug + 前端UI + 编译阻断)
后端(src-tauri): - project.rs: 4处空if目录校验补return Err(import/relocate/scan_directory/scan_project_with_ai),目录不存在不再静默放行 - ai/tools/git.rs: exec_git改返(String,bool)治git_commit·git_branch create/switch假成功 + git_merge补失败分支 + 加CREATE_NO_WINDOW - module.rs: run_git_cmd加CREATE_NO_WINDOW,治Windows cmd黑窗闪烁(原问题9) 前端: - DependencyGraph.vue: 环检测高亮注入renderGraph,原被fromJSON重建抹除致功能失效 - FileExplorer.vue: 工程下拉closeDropdown加closest判定,原打不开 附(预存编译阻断顺带修): - df-nodes ai_node_helpers.rs: extract_first_json_object临时值借用悬垂E0716 - MessageList.vue: 删isLastUser死代码(vue-tsc TS6133) 审查产出: docs/05-代码审查/UIUX扩展审查-2026-08-02.md(80条发现,8高grep核验全属实)+ docs/todo.md批次段
This commit is contained in:
@@ -286,7 +286,9 @@ pub(crate) fn parse_review_json(raw: &str) -> serde_json::Value {
|
||||
|
||||
// 候选解析文本:整段失败 → 正则兜底提取首个 { 到末 } 再试一次(前置文字容错)。
|
||||
// 等价于 adversarial extract_json 的 (?s)\{.*\} 但用 find/rfind 零依赖实现。
|
||||
let candidates = [cleaned, extract_first_json_object(cleaned).as_str()];
|
||||
// extract_first_json_object 返回 String,需先绑定变量延长生命周期,否则 .as_str() 借用悬垂(E0716)。
|
||||
let fallback = extract_first_json_object(cleaned);
|
||||
let candidates = [cleaned, fallback.as_str()];
|
||||
|
||||
for cand in candidates {
|
||||
if let Ok(mut v) = serde_json::from_str::<serde_json::Value>(cand) {
|
||||
|
||||
Reference in New Issue
Block a user