fix(providers): 供应商名称唯一性防护,修复同名静默覆盖导致 API Key 丢失 — bump to v0.8.6
Release / Version consistency (push) Canceled after 0s
Release / Build (macos-latest) (push) Canceled after 0s
Release / Build (ubuntu-latest) (push) Canceled after 0s
Release / Build (windows-latest) (push) Canceled after 0s
Release / Attach macOS install script (push) Canceled after 0s

This commit is contained in:
KimiSwitch Dev committed 2026-10-16 17:23:56 +08:00
1 parent 38dbb5527a
commit 97422440e1
15 files changed
+2883 -1806

No files matched your search

+15
View File
@@ -6,6 +6,21 @@
---
## v0.8.6 (2026-10-16)
供应商名称唯一性防护版:修复同一厂商配置第二把 Key 时,因名称撞车导致第一个供应商条目被静默覆盖、API Key 丢失的问题。
- **同名覆盖丢失修复**:供应商以名称为唯一存储键,此前新建/改名撞名会在内存无提示顶掉旧条目,随后任意保存(含 Ctrl+S 快捷键,其绕过被禁用的按钮)即把丢失写进 config.toml;现四个写入点全部拦截
- **编辑页即时提示**:名称为空或重名 → 红框 + 错误说明 + 保存按钮禁用
- **保存硬阻止**:Ctrl+S / 底部按钮 / 切换供应商三条入口统一过检,撞名未解除或空名条目弹窗阻止、绝不落盘
- **被顶掉的供应商自动找回**:撞名瞬间暂存被覆盖条目,改名离开撞名态时自动还原(Key 与模型映射一并回来)
- **新建占位名循环取号**:删除过 `provider-N` 后新建不再回退撞名
- **「配置 JSON」源头拒绝**:JSON 内 `name` 与其他供应商重名时拒绝应用、零状态变更
- **复制提示显示真实新名**(`-copy` / `-copy-2`),不再固定 `-copy`
- 名称比较为大小写敏感全等、忽略首尾空白,与 config.toml 键语义一致;零 Rust 改动、无迁移成本
- models.dev 快照同步至 2026-10-16(8,894 模型 / 230 供应商)
- 测试:前端 157 项(新增 7 项名称校验)、Rust 212 项(无改动,全量回归);置换暂存算法另经 27 条独立断言推演验证
## v0.8.5 (2026-10-16)
设置界面重构:原来塞满所有选项的「设置」弹窗改为带返回头的全局设置页面,按「全局设置 / 高级设置 / 关于」分三页;同时修掉体检账单漏查与更新下载哑火两处问题。