From a662b16f5e076f67788457653d29c0d2fbacdab0 Mon Sep 17 00:00:00 2001 From: mesalogo Date: Tue, 29 Sep 2026 22:50:43 +0800 Subject: [PATCH] fix: remove the conversation runtime override dot MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Keep the Runtime icon and label clear after a conversation-specific selection. Preserve override details and the reset action inside the picker, with regression coverage and bilingual release notes. Release note: 移除会话 Runtime 按钮图标与名称之间的圆点,保留菜单内的单独选择提示与恢复项目默认操作。 --- docs/development/release-preparation-0.15.4.md | 8 ++++++++ .../model-connections/runtime-selection-design.md | 2 +- resources/release-notes.json | 2 ++ src/renderer/src/App.test.tsx | 6 ++++++ src/renderer/src/App.tsx | 2 +- src/renderer/src/WorkspacePrimitives.test.tsx | 4 ++++ src/renderer/src/styles.css | 10 ---------- 7 files changed, 22 insertions(+), 12 deletions(-) diff --git a/docs/development/release-preparation-0.15.4.md b/docs/development/release-preparation-0.15.4.md index 78c8b75a..e52bed2b 100644 --- a/docs/development/release-preparation-0.15.4.md +++ b/docs/development/release-preparation-0.15.4.md @@ -45,3 +45,11 @@ Desktop `36580699255` 为 5,472 通过、52 跳过、1 失败,生产构建未 没有产生首个请求;按现有异步同步机制等待按钮可用,保留全部问答与重载断言。 该修正仅影响测试和发布记录,运行时源码、锁文件及双语发布说明不变。 修正后完整 `App.test.tsx` 314 项通过,类型检查与 lint 再次通过。 + +## 发布前界面修正 + +用户要求移除会话 Runtime 按钮图标与名称间的圆点,并确认继续提交、推送和发布。 +删除专用覆盖标记 class 及其伪元素样式,保留菜单内来源提示和恢复默认操作, +同步双语说明及选择设计。完整 App 与样式回归共 351 项通过,类型检查和 lint 通过。 +该改动仅在 Renderer,不影响 Agent 或桌面至 Agent 协议,无需新增真实模型请求。 +此前中断的测试不计为通过;本条结果来自重新执行。最终新提交仍须等待独立 CI。 diff --git a/docs/features/model-connections/runtime-selection-design.md b/docs/features/model-connections/runtime-selection-design.md index eed8f35d..717891ed 100644 --- a/docs/features/model-connections/runtime-selection-design.md +++ b/docs/features/model-connections/runtime-selection-design.md @@ -59,7 +59,7 @@ - 选择只写入会话层;左栏选择与项目相同的执行方式时写入 `undefined`,保持继承。 - 右栏首项为“默认(…)”,带来源标记(全局 / 项目);已删除或不兼容的连接禁用,缺少 API Key 的连接可选并标注。 -- 会话存在单独选择时,底栏显示“本会话单独选择”和“恢复为项目默认”,按钮上显示圆点。 +- 会话存在单独选择时,底栏显示“本会话单独选择”和“恢复为项目默认”;输入区按钮不在图标与 Runtime 名称之间添加圆点。 - 模型列按最长列表预留高度,悬停切换执行方式时菜单不跳动;列内超出部分滚动,底栏 固定在两栏下方。长名称单行截断,完整名称和模型 ID 通过 `title` 与可访问名称提供。 - “管理模型连接…”打开“设置 → 模型连接”。 diff --git a/resources/release-notes.json b/resources/release-notes.json index 7795e423..852019ff 100644 --- a/resources/release-notes.json +++ b/resources/release-notes.json @@ -12,6 +12,7 @@ "**分开查看系统任务 Token 用量**:运行记录新增“系统任务”页签,将监督者、自动监督、魔法笔记、知识库和后台委派等用量与会话统计分开。支持按来源查看、手动刷新,并在新用量记录写入后自动刷新。" ], "fixes": [ + "**简化会话 Runtime 选择按钮**:移除图标与 Runtime 名称之间的圆点,避免选择模型后出现多余标记。菜单仍显示“本会话单独选择”和“恢复为项目默认”,选择规则不变。", "**补齐部分后台用量记录**:监督回顾、图片重新生成、知识图谱抽取和远程向量请求现在接入对应的用量记录。统计依据实际保存的供应商用量,不能补算过去未记录的调用或供应商未返回的 Token 数据。", "**避免 Runtime 重复携带指令与历史**:OpenCode 将受信任指令放入当前轮系统信息,复用 DeepSeek Harness 会话时不再重复注入已保留历史。Continue 识别已有历史封装并避免再次嵌套,保存用户轮次时移除工作模式前缀;远程 Continue 需要配套 Agent 更新。", "**减少失败请求对后续 OpenCode 对话的影响**:普通 OpenCode 请求失败且尚未产生回复记录时,会尝试清理该轮未回答的输入,避免下次复用会话时再次合并。已有回复、工具记录和其他并行会话保留。" @@ -28,6 +29,7 @@ "**Separate system-task Token usage**: Run history adds a System tasks tab that separates Supervisor, automatic supervision, Magic Notes, knowledge, and background delegation usage from conversation totals. Browse by source, refresh manually, or receive an automatic refresh when new usage is recorded." ], "fixes": [ + "**Simplify the conversation Runtime button**: Remove the dot between the icon and Runtime name after choosing a model. The menu still identifies conversation overrides and offers Restore project defaults; selection rules are unchanged.", "**Capture additional background usage**: Supervisor reviews, image regeneration, knowledge-graph extraction, and remote embedding requests now feed their corresponding usage records. Statistics use stored provider usage and cannot reconstruct previously unrecorded calls or Token data omitted by a provider.", "**Avoid duplicate Runtime instructions and history**: OpenCode receives trusted instructions through the current turn's system information, and reused DeepSeek Harness sessions no longer receive history they already retain. Continue recognizes existing history envelopes instead of nesting them again and removes work-mode prefixes from stored user turns; remote Continue requires the matching Agent update.", "**Reduce carryover from failed OpenCode requests**: When a normal OpenCode request fails before producing a reply record, GoodBuddy attempts to remove its unanswered input so the next request does not merge it again. Existing replies, tool records, and other parallel conversations remain intact." diff --git a/src/renderer/src/App.test.tsx b/src/renderer/src/App.test.tsx index 4216377a..9d399607 100644 --- a/src/renderer/src/App.test.tsx +++ b/src/renderer/src/App.test.tsx @@ -10407,6 +10407,12 @@ describe("App", () => { }), ); expect(api.settings.updateRuntime).not.toHaveBeenCalled(); + expect(runtimeButton).not.toHaveClass("model-button--override"); + fireEvent.click(runtimeButton); + expect(screen.getByText("本会话单独选择")).toBeInTheDocument(); + expect( + screen.getByRole("menuitem", { name: "恢复为项目默认" }), + ).toBeInTheDocument(); expect( screen.queryByRole("heading", { name: "设置中心" }), ).not.toBeInTheDocument(); diff --git a/src/renderer/src/App.tsx b/src/renderer/src/App.tsx index 437c8fa7..036a42c4 100644 --- a/src/renderer/src/App.tsx +++ b/src/renderer/src/App.tsx @@ -10184,7 +10184,7 @@ function App(): React.JSX.Element {