| Files | Last commit | Last update |
|---|---|---|
feat: @-mention 目录下钻补全 & SlashPicker 键盘导航优化 - TUI/WebUI/VS Code 端 @-mention 选择目录后保持 token 激活,不追加空格终止, 立即触发子目录菜单/搜索结果,实现目录下钻补全 - 新增 applyAtMentionSelection / format_at_mention_replacement 函数 - SlashPicker 区分键盘/鼠标高亮,键盘上下键导航时自动滚动跟随 - 输入框容器增加垂直滚动支持 - 补充目录下钻、token 激活保持等测试用例 | 4 months ago | |
feat: @-mention 目录下钻补全 & SlashPicker 键盘导航优化 - TUI/WebUI/VS Code 端 @-mention 选择目录后保持 token 激活,不追加空格终止, 立即触发子目录菜单/搜索结果,实现目录下钻补全 - 新增 applyAtMentionSelection / format_at_mention_replacement 函数 - SlashPicker 区分键盘/鼠标高亮,键盘上下键导航时自动滚动跟随 - 输入框容器增加垂直滚动支持 - 补充目录下钻、token 激活保持等测试用例 | 4 months ago | |
fix(webui): queue prompts during pending mode switches Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 2 months ago | |
fix(webui): queue prompts during pending mode switches Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 2 months ago | |
fix(webui): preserve IME composition input Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 2 months ago | |
fix(webui): preserve IME composition input Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 2 months ago | |
fix(webui): keep composer controlled so IME commits are not overwritten The value={composing ? undefined : input} un-control hack could read a not-yet-committed ta.value at compositionend (WebKit) and force-write the stale value back, wiping the just-committed Chinese text; the next keystroke then appeared to replace it. The composer is now always controlled and mirrors every input event (Preact only writes when values differ, so the IME pre-edit buffer is untouched); compositionend merely maintains the keydown guard flag, and the trailing input event carries the final value. Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 2 months ago | |
feat(webui): surface generated turn artifacts Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 2 months ago | |
fix(webui): preserve historical turn timestamps Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 2 months ago | |
fix(webui): preserve historical turn timestamps Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 2 months ago | |
fix(webui): keep blocking interactions in composer Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 2 months ago | |
fix(webui): don't nag to switch models when a steer kept the same model A mid-turn steer cannot reload the runtime provider, so the daemon reports provider_change_applied: false and echoes the still-active provider. The client's steer provider-fallback fired on that alone and showed "stop the turn to switch models" — even when the runtime stayed on the user's selected model and only the provider fingerprint differed. Sending an ordinary mid-turn message then spuriously nagged about switching models. Gate the fallback on an actual model change: only follow the daemon's provider (and show the notice) when the submitted model differs from the effective one. A same-name / fingerprint-only mismatch is a no-op and stays silent. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 2 months ago | |
fix(webui): don't nag to switch models when a steer kept the same model A mid-turn steer cannot reload the runtime provider, so the daemon reports provider_change_applied: false and echoes the still-active provider. The client's steer provider-fallback fired on that alone and showed "stop the turn to switch models" — even when the runtime stayed on the user's selected model and only the provider fingerprint differed. Sending an ordinary mid-turn message then spuriously nagged about switching models. Gate the fallback on an actual model change: only follow the daemon's provider (and show the notice) when the submitted model differs from the effective one. A same-name / fingerprint-only mismatch is a no-op and stays silent. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 2 months ago | |
fix(approval): align Accept Edits across clients | 3 months ago | |
feat(session): persist per-turn started_at and surface user/assistant message times - transcript: TurnRecord gains optional started_at (serde default, legacy-safe); load_transcript_timestamps now returns TurnTimestamp{started_at, completed_at} - daemon: user messages use submission time, assistant/tool messages use completion time; presentation anchors keep the completion time - webui: optimistic assistant placeholder is unstamped; real timestamps are stamped at the terminal boundary (done/stopped/error) Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 2 months ago | |
fix(webui): queue prompts during pending mode switches Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 2 months ago | |
fix(webui): queue prompts during pending mode switches Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 2 months ago | |
fix(webui): 命令通知去重,恢复/确认失败不再刷屏堆叠 daemon 连不上时,恢复类通知(chat.recoveryBlocked / activeCheckFailed / cancelFailed)在每次会话加载、每次被锁定的发送尝试都会重新触发,pushCommandNotice 无脑 append 就堆成一屏完全相同的行(实测点几次发送堆十几条)。 修复:新增纯函数 lib/notices.ts 的 isDuplicateTrailingNotice——判断某条通知 是否已在当前尾部连续 notice 段里,是则跳过(setMessages 返回同引用)。尾部段被 真实消息打断即重置,故正常对话里后续真正的重复仍会显示;A,B,A,B 交替的成对恢复 通知也被尾部段查重挡住。pushCommandNotice 接入它;insertBeforeBusyAssistant 抽出一次供 dedup 与插入共用,插入条件与改前逐字一致。 注:此修复解决"刷屏"这个 UI bug,不解决"连不上"(那是本机端口/多实例问题: 桌面应用连 13457 但 webui 起在 8080)。 TDD:notices.test.ts 6 用例(blocked 刷屏/AB 不重堆/首条不算重复/异文本不误杀/ 真实内容后重置/busy 流式尾部扫描);tsc exit 0;webui 全量 216 绿。未真机。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 2 months ago | |
fix(webui): 命令通知去重,恢复/确认失败不再刷屏堆叠 daemon 连不上时,恢复类通知(chat.recoveryBlocked / activeCheckFailed / cancelFailed)在每次会话加载、每次被锁定的发送尝试都会重新触发,pushCommandNotice 无脑 append 就堆成一屏完全相同的行(实测点几次发送堆十几条)。 修复:新增纯函数 lib/notices.ts 的 isDuplicateTrailingNotice——判断某条通知 是否已在当前尾部连续 notice 段里,是则跳过(setMessages 返回同引用)。尾部段被 真实消息打断即重置,故正常对话里后续真正的重复仍会显示;A,B,A,B 交替的成对恢复 通知也被尾部段查重挡住。pushCommandNotice 接入它;insertBeforeBusyAssistant 抽出一次供 dedup 与插入共用,插入条件与改前逐字一致。 注:此修复解决"刷屏"这个 UI bug,不解决"连不上"(那是本机端口/多实例问题: 桌面应用连 13457 但 webui 起在 8080)。 TDD:notices.test.ts 6 用例(blocked 刷屏/AB 不重堆/首条不算重复/异文本不误杀/ 真实内容后重置/busy 流式尾部扫描);tsc exit 0;webui 全量 216 绿。未真机。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 2 months ago | |
fix(webui): restore proactive notification permission prompt Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 2 months ago | |
fix(webui): restore proactive notification permission prompt Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 2 months ago | |
fix(webui): 连续审批时第二个审批卡片不弹出导致任务卡死 审批为「发了即返回」的 POST,后端收到决定后才跑工具、再在同一条 SSE 流上 推下一个 permission_request。当被批准的工具是瞬时的(如 Read_file 0.00s), 下一个请求会在决定 POST 仍在 await 时到达并占用唯一的 pending 槽位,而卡片 的 onDone 无条件 setPending(null),把这个它从未处理过的新请求清掉——第二个 工具永远停在「等待批准…」、卡片不再弹出,任务卡死。 修复:抽出纯函数 resolvePendingAfterDecision,仅当槽位仍是本卡片刚决定的 请求(按 call_id 匹配)时才清空;若已被更新的请求替换则保留它。实时(/live) 与非 sync(/chat) 两条路径同改,消除重复的同款缺陷。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> | 5 months ago | |
fix(security): correlate policy recovery decisions Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 2 months ago | |
fix(provider): enforce managed CodingPlan model policy Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 2 months ago | |
fix(webui): 局域网 HTTP 下 crypto.randomUUID 崩溃致发消息不可用 --host 0.0.0.0 绑定后浏览器打开的是局域网 IP 明文 HTTP 地址,非安全 上下文里 crypto.randomUUID 为 undefined,发消息路径直接抛 TypeError, 表现为 webui "无法正常使用";回环访问正常因 127.0.0.1/localhost 被视为 安全上下文。抽 randomId() helper:安全上下文用原生 randomUUID,缺失时 回退 getRandomValues(基础 Crypto 接口,非安全上下文同样可用)自建 v4, 再兜底 Math.random。替换 Chat.tsx 两处发送路径调用点。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 2 months ago | |
fix(webui): 局域网 HTTP 下 crypto.randomUUID 崩溃致发消息不可用 --host 0.0.0.0 绑定后浏览器打开的是局域网 IP 明文 HTTP 地址,非安全 上下文里 crypto.randomUUID 为 undefined,发消息路径直接抛 TypeError, 表现为 webui "无法正常使用";回环访问正常因 127.0.0.1/localhost 被视为 安全上下文。抽 randomId() helper:安全上下文用原生 randomUUID,缺失时 回退 getRandomValues(基础 Crypto 接口,非安全上下文同样可用)自建 v4, 再兜底 Math.random。替换 Chat.tsx 两处发送路径调用点。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 2 months ago | |
chore: remove stale legacy architecture wording | 3 months ago | |
chore: remove stale legacy architecture wording | 3 months ago | |
feat(webui): refine workspace session sidebar Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 2 months ago | |
feat(webui): refine workspace session sidebar Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 2 months ago | |
fix(webui): update workspace count after session deletion Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 2 months ago | |
fix(webui): update workspace count after session deletion Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 2 months ago | |
feat(review): align review routing and secure datalog Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 3 months ago | |
feat(review): align review routing and secure datalog Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 3 months ago | |
fix(webui): preserve todo panel lifecycle Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 2 months ago | |
fix(webui): preserve todo panel lifecycle Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 2 months ago | |
fix(webui): preserve todo panel lifecycle Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 2 months ago | |
fix(webui): show todo titles in tool rows Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 2 months ago | |
fix(webui): show todo titles in tool rows Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 2 months ago | |
feat(review): improve scoped review progress | 3 months ago | |
fix(webui): show todo titles in tool rows Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 2 months ago | |
feat(webui): surface generated turn artifacts Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 2 months ago | |
feat(webui): surface generated turn artifacts Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 2 months ago | |
fix(webui): show stats only after completed turns Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 2 months ago | |
fix(webui): show stats only after completed turns Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 2 months ago | |
feat(webui): refine typography and visual hierarchy Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 2 months ago | |
fix(webui): keep blocking interactions in composer Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 2 months ago |
| Files | Last commit | Last update |
|---|---|---|
| 4 months ago | ||
| 4 months ago | ||
| 2 months ago | ||
| 2 months ago | ||
| 2 months ago | ||
| 2 months ago | ||
| 2 months ago | ||
| 2 months ago | ||
| 2 months ago | ||
| 2 months ago | ||
| 2 months ago | ||
| 2 months ago | ||
| 2 months ago | ||
| 3 months ago | ||
| 2 months ago | ||
| 2 months ago | ||
| 2 months ago | ||
| 2 months ago | ||
| 2 months ago | ||
| 2 months ago | ||
| 2 months ago | ||
| 5 months ago | ||
| 2 months ago | ||
| 2 months ago | ||
| 2 months ago | ||
| 2 months ago | ||
| 3 months ago | ||
| 3 months ago | ||
| 2 months ago | ||
| 2 months ago | ||
| 2 months ago | ||
| 2 months ago | ||
| 3 months ago | ||
| 3 months ago | ||
| 2 months ago | ||
| 2 months ago | ||
| 2 months ago | ||
| 2 months ago | ||
| 2 months ago | ||
| 3 months ago | ||
| 2 months ago | ||
| 2 months ago | ||
| 2 months ago | ||
| 2 months ago | ||
| 2 months ago | ||
| 2 months ago | ||
| 2 months ago |