修复: 全栈审查 FR-C1~C5 五项正确性 bug

- FR-C1 formattedEvents 时间漂移:事件入数组固 _ts 时间戳(project.ts push + ProjectDetail 用 _ts),computed 重算不再刷历史时间为当前时刻
- FR-C2 sentiment 三档统一:模板 >0/<0/===0 + sentimentClass 同源 + i18n neutral(zh/en),原模板>0 与 class>=0 矛盾
- FR-C3 Settings timer 泄漏:onUnmounted 清全部三个(原仅 _concurrencyTimer)
- FR-C4 MIGRATION_VERSION 死常量:删(零代码引用,run() if 链自管版本)
- FR-C5 AiConversationDetail 缺 readonly:加 readonly?: boolean(后端 generating 时返回)
来源 fullstack-review §3(已核实);cargo/vue-tsc 0 err
This commit is contained in:
2026-06-14 17:00:33 +08:00
parent 3e1f119003
commit cf18678634
8 changed files with 18 additions and 11 deletions

View File

@@ -3,9 +3,6 @@
use anyhow::Result;
use rusqlite::Connection;
/// 当前迁移版本
const MIGRATION_VERSION: i32 = 12;
/// 检测表是否存在指定列(幂等迁移通用辅助)
fn column_exists(conn: &Connection, table: &str, col: &str) -> bool {
let Ok(mut stmt) = conn.prepare(&format!("PRAGMA table_info({table})")) else { return false };