Skip to content

2.0.159

Choose a tag to compare

@TinyNano TinyNano released this 09 Oct 13:24
· 6 commits to main since this release

修复

  • 模型偏好跨设备同步后静默失效:默认生图 / 生视频模型、AI 工具判定模型、跟进建议模型、笔记辅助模型这些偏好,值都形如 providerId\nmodelId(换行分隔供应商与模型)。服务端的云同步清洗 tc_settings_text() 把换行当控制字符一并剔除,两段被粘成 providerIdmodelId —— 跨设备同步回来既找不到供应商也找不到模型,该偏好悄悄失效(本机不经清洗,所以只有换设备才暴露)。现在为这类偏好新增 tc_settings_model_ref():保留换行分隔符,其余控制字符照旧剔除,并归一化为「供应商 + 模型」至多两段(去空段、去首尾空白)。普通短文本的清洗行为不变。

测试

  • tests/settings-sync.php 新增 9 项:直接对清洗函数下探(保留换行、去首尾空白、丢空段、空值归空、普通短文本仍剔除换行未被波及),并在 sanitize 白名单用例里同时覆盖 prefs 与 ui 两侧的模型引用键。
  • tests/settings-sync-gui.mjs 新增 5 项:走真实云同步链路写入 providerId\nmodelId,断言云端落库带换行,再用全新浏览器上下文(新设备)登录同一账号,断言偏好与界面两侧的模型引用都带换行恢复。