| Files | Last commit | Last update |
|---|---|---|
chore(release): finish v5.1.0 reference cleanup and fix y18n lockfile The v5.1.0 bump missed the follow-up cleanup that v5.0.9 had (eda3e3ef), leaving 5.0.9 test fixtures behind: - version_check.rs / updater lib.rs: version-compare fixtures - retained.rs / event_loop commands.rs: release branch refs - vscode process.ts / daemon-identity.test.ts: daemon identity Also revert a bogus dependency bump: the v5.0.9 release commit rewrote y18n from 5.0.8 to 5.0.9, a version that does not exist on npmjs or npmmirror (latest is 5.0.8), while keeping the 5.0.8 integrity hash. Restore 5.0.8 in both lockfiles. Co-Authored-By: AtomCode (deepseek-flash) <duxin@csdn.net> | 1 month ago | |
Auto-commit at turn #1 (385 files changed) | 3 months ago | |
fix(tuix): improve ordered list marker contrast on dark themes Issue #1426: ordered-list numbers (and bullets) used the fixed MD_MUTED_OPEN (SGR 90). On dark themes SGR 90 maps to ~#3F3F3F (~3:1 against the background), so list markers were nearly invisible until the text was selected — the same "invisible until selected" contrast bug table borders already had, fixed there via the theme-aware md_border_open (dark -> SGR 37). Fix: add a theme-aware md_marker_open() mirroring md_border_open (light keeps SGR 90, dark uses SGR 37) and use it for list markers in render_line. Marker close stays MD_MUTED_CLOSE (SGR 39) on both themes. Markdown parsing, selection behavior and other markdown styles (heading/inline-code/bold/italic) are untouched. Tests: theme.rs asserts md_marker_open() == SGR 37 on dark and SGR 90 on light (regression for #1426); markdown.rs list tests updated to assert markers render through md_marker_open. Co-Authored-By: AtomCode (deepseek-v4-flash) <noreply@atomgit.com> | 2 months ago | |
refactor: retire atomcode-core crate Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 3 months ago | |
style: cargo fmt --all(全仓格式化,为把 fmt 检查转成阻塞门做准备) 纯格式化,无行为变更。93 个文件、407 处 diff —— 这笔债从来没还过,导致 cargo fmt 在这棵树上是不可用的:任何人跑一次都会顺手改掉 90 多个无关文件, 于是没人敢跑,债继续滚。check.yml 里 fmt 检查挂着 continue-on-error 也正是 因为它第一次跑就是红的。 唯一一处非纯格式化的改动:background.rs 里 bash_start 参数错误消息所在的 match arm,rustfmt 在长字符串字面量上不收敛(cargo fmt 不改、--check 却 一直报),手工落成它要求的块形式并把字面量拆成续行。已用 rustc 实测拼接结果 与原字符串逐字节相同。这是把 fmt 设成阻塞门的前提 —— 否则 CI 会永久红。 验证:cargo fmt --all -- --check 退出 0;cargo check --workspace --all-targets 0 error;cargo test --workspace 全绿。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZ6k3GPfpuJZg28kysCv4v | 2 months ago | |
| 1 month ago | ||
chore(release): finish v5.1.0 reference cleanup and fix y18n lockfile The v5.1.0 bump missed the follow-up cleanup that v5.0.9 had (eda3e3ef), leaving 5.0.9 test fixtures behind: - version_check.rs / updater lib.rs: version-compare fixtures - retained.rs / event_loop commands.rs: release branch refs - vscode process.ts / daemon-identity.test.ts: daemon identity Also revert a bogus dependency bump: the v5.0.9 release commit rewrote y18n from 5.0.8 to 5.0.9, a version that does not exist on npmjs or npmmirror (latest is 5.0.8), while keeping the 5.0.8 integrity hash. Restore 5.0.8 in both lockfiles. Co-Authored-By: AtomCode (deepseek-flash) <duxin@csdn.net> | 1 month ago | |
feat(tuix): OpenRouter 接入 ESC 取消接线 + i18n 描述 + fmt - handle_idle_key 函数入口处:ESC 按键无条件置 ctx.openrouter_cancel=true, 让后台 OAuth 等待线程的 wait_for_code 尽快返回 Ok(None) → 任务发 Failed("已取消或超时")。幂等——未在跑时置位无副作用;每次 /openrouter 分派前已由 commands.rs 复位为 false。 - 补全 /openrouter 命令的 i18n 双语描述(messages.rs / en.rs / zh_cn.rs / commands.rs),修复 every_builtin_command_has_an_i18n_description 测试。 - cargo fmt 仅覆盖本功能触碰文件(atomcode-auth / openrouter_connect.rs / event_loop/mod.rs / commands.rs),非相关文件已还原。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 2 months ago | |
fix(plugin): reload installed skills without restart Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 3 months ago | |
feat(tuix): /diff — cap file list at 5 rows with a "more files" scroll indicator; fit panel to content - List/loading/error panels now size to their content instead of a fixed ~45% slab, killing the empty gap below short change sets. - File list shows at most MAX_VISIBLE_FILES (5); a "↕ N more files" row appears when there are more and ↑/↓ scrolls the window into view. - Untracked files show "U" instead of "?". - Keep the list title neutral ("Diff") when the tree is clean so it doesn't assert changes that aren't there. - Bump MAX_ENTRIES_PER_FILE 400→5000 so everyday edits stop tripping the "snapshot truncated" notice. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 3 months ago | |
fix(tuix): downgrade provider panel chrome on legacy terminals Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 2 months ago | |
style: cargo fmt --all(全仓格式化,为把 fmt 检查转成阻塞门做准备) 纯格式化,无行为变更。93 个文件、407 处 diff —— 这笔债从来没还过,导致 cargo fmt 在这棵树上是不可用的:任何人跑一次都会顺手改掉 90 多个无关文件, 于是没人敢跑,债继续滚。check.yml 里 fmt 检查挂着 continue-on-error 也正是 因为它第一次跑就是红的。 唯一一处非纯格式化的改动:background.rs 里 bash_start 参数错误消息所在的 match arm,rustfmt 在长字符串字面量上不收敛(cargo fmt 不改、--check 却 一直报),手工落成它要求的块形式并把字面量拆成续行。已用 rustc 实测拼接结果 与原字符串逐字节相同。这是把 fmt 设成阻塞门的前提 —— 否则 CI 会永久红。 验证:cargo fmt --all -- --check 退出 0;cargo check --workspace --all-targets 0 error;cargo test --workspace 全绿。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZ6k3GPfpuJZg28kysCv4v | 2 months ago | |
style: cargo fmt --all(全仓格式化,为把 fmt 检查转成阻塞门做准备) 纯格式化,无行为变更。93 个文件、407 处 diff —— 这笔债从来没还过,导致 cargo fmt 在这棵树上是不可用的:任何人跑一次都会顺手改掉 90 多个无关文件, 于是没人敢跑,债继续滚。check.yml 里 fmt 检查挂着 continue-on-error 也正是 因为它第一次跑就是红的。 唯一一处非纯格式化的改动:background.rs 里 bash_start 参数错误消息所在的 match arm,rustfmt 在长字符串字面量上不收敛(cargo fmt 不改、--check 却 一直报),手工落成它要求的块形式并把字面量拆成续行。已用 rustc 实测拼接结果 与原字符串逐字节相同。这是把 fmt 设成阻塞门的前提 —— 否则 CI 会永久红。 验证:cargo fmt --all -- --check 退出 0;cargo check --workspace --all-targets 0 error;cargo test --workspace 全绿。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZ6k3GPfpuJZg28kysCv4v | 2 months ago | |
style: cargo fmt --all(全仓格式化,为把 fmt 检查转成阻塞门做准备) 纯格式化,无行为变更。93 个文件、407 处 diff —— 这笔债从来没还过,导致 cargo fmt 在这棵树上是不可用的:任何人跑一次都会顺手改掉 90 多个无关文件, 于是没人敢跑,债继续滚。check.yml 里 fmt 检查挂着 continue-on-error 也正是 因为它第一次跑就是红的。 唯一一处非纯格式化的改动:background.rs 里 bash_start 参数错误消息所在的 match arm,rustfmt 在长字符串字面量上不收敛(cargo fmt 不改、--check 却 一直报),手工落成它要求的块形式并把字面量拆成续行。已用 rustc 实测拼接结果 与原字符串逐字节相同。这是把 fmt 设成阻塞门的前提 —— 否则 CI 会永久红。 验证:cargo fmt --all -- --check 退出 0;cargo check --workspace --all-targets 0 error;cargo test --workspace 全绿。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZ6k3GPfpuJZg28kysCv4v | 2 months ago | |
Auto-commit at turn #1 (385 files changed) | 3 months ago | |
feat(tuix): preview sessions in the existing picker | 2 months ago | |
Auto-commit at turn #1 (385 files changed) | 3 months ago | |
style: cargo fmt --all(bump 前存量格式债清偿) | 1 month ago | |
style: cargo fmt --all(全仓格式化,为把 fmt 检查转成阻塞门做准备) 纯格式化,无行为变更。93 个文件、407 处 diff —— 这笔债从来没还过,导致 cargo fmt 在这棵树上是不可用的:任何人跑一次都会顺手改掉 90 多个无关文件, 于是没人敢跑,债继续滚。check.yml 里 fmt 检查挂着 continue-on-error 也正是 因为它第一次跑就是红的。 唯一一处非纯格式化的改动:background.rs 里 bash_start 参数错误消息所在的 match arm,rustfmt 在长字符串字面量上不收敛(cargo fmt 不改、--check 却 一直报),手工落成它要求的块形式并把字面量拆成续行。已用 rustc 实测拼接结果 与原字符串逐字节相同。这是把 fmt 设成阻塞门的前提 —— 否则 CI 会永久红。 验证:cargo fmt --all -- --check 退出 0;cargo check --workspace --all-targets 0 error;cargo test --workspace 全绿。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZ6k3GPfpuJZg28kysCv4v | 2 months ago | |
style: cargo fmt --all(全仓格式化,为把 fmt 检查转成阻塞门做准备) 纯格式化,无行为变更。93 个文件、407 处 diff —— 这笔债从来没还过,导致 cargo fmt 在这棵树上是不可用的:任何人跑一次都会顺手改掉 90 多个无关文件, 于是没人敢跑,债继续滚。check.yml 里 fmt 检查挂着 continue-on-error 也正是 因为它第一次跑就是红的。 唯一一处非纯格式化的改动:background.rs 里 bash_start 参数错误消息所在的 match arm,rustfmt 在长字符串字面量上不收敛(cargo fmt 不改、--check 却 一直报),手工落成它要求的块形式并把字面量拆成续行。已用 rustc 实测拼接结果 与原字符串逐字节相同。这是把 fmt 设成阻塞门的前提 —— 否则 CI 会永久红。 验证:cargo fmt --all -- --check 退出 0;cargo check --workspace --all-targets 0 error;cargo test --workspace 全绿。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZ6k3GPfpuJZg28kysCv4v | 2 months ago | |
fix(tui): skip OSC background query in Orca Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 2 months ago | |
Auto-commit at turn #1 (385 files changed) | 3 months ago | |
fix(tuix): ThinkStripper 的"可见内容"判定排除 BOM/零宽字符 code-review Finding #3:seen_visible 用 !is_whitespace() 判定是否流出过可见 正文,但 BOM(U+FEFF)/零宽空格(U+200B 等)不算 whitespace。若某内联推理模型 (如 GLM)的首个 chunk 前置了 BOM,再接真 <think> 块,就会误判为"已有可见内容" → latch seen_visible → 真推理块泄漏成字面显示。 修:新增 is_visible(c)——非空白 且 非控制符 且 非零宽/格式符(BOM/ZWSP/ZWNJ/ ZWJ/word-joiner);4 处判定改用它。这样前置 BOM/零宽仍算"不可见",真 leading 推理块照常剥离。失败方向本就安全(泄漏而非吞没),此为纵深收紧。 测试:新增 leading_bom_or_zero_width_does_not_defeat_stripping;think 16 + tuix 2108 全绿。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 2 months ago | |
feat(tuix): round-cap checkpoint state, dispatch arm, deliver helper - Add RoundCapPanel { id, cap, cursor } + UiPhase::RoundCap to state.rs - Clear round_cap_panel in 3 reset sites (on_turn_complete / on_turn_cancelled / on_user_input_resolved) mirroring user_input_panel discipline - Flip round_cap_checkpoint = true in reload_provider (sole production call site) - Add deliver_round_cap(ctx, id, cont) helper beside deliver_user_input - Add Request dispatch arm for ROUND_CAP_CHECKPOINT_KIND before APPROVAL_KIND fallback; auto-skip (bypass mode) → fail-closed stop - Fix exhaustiveness: UiPhase::RoundCap in commands.rs (×2), mod.rs key dispatch and RuntimeStopped phase gate, title.rs phase_status_glyph - Fix pre-existing daemon build error: add missing turn_max_rounds field to chat_runtime_config initializer in live_api.rs Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 3 months ago | |
Merge feat/telemetry-v2 into release/v4.20.1 Integrates the atomcode-telemetry crate (new) with the MCP support, Ollama function-calling, and background-commands features from release. Key resolutions: - CLI Commands enum: kept both Mcp(McpCli) and Telemetry { action } variants - atomcode_tuix::run(): added mcp_registry + mcp_connect_rx + telemetry params - LoopCtx: added both mcp_registry/mcp_connect_rx/mcp_reload and telemetry fields - runner.rs: kept telemetry scope + tel_return! macro; added unwrap_doubly_nested_args from HEAD into v2's ToolCallDone arm; preserved HEAD's async ToolRegistry API - bash.rs: merged HEAD's enhanced netcat/mknod security detection with v2's code structure improvements; added visit_f64 to lenient deserializer - agent/mod.rs: took HEAD's emit_rich_context_stats().await form - daemon/main.rs: kept register_sync form + telemetry Disabled("daemon") init - commands.rs: took HEAD (mcp, background, init; no /fixissue) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> | 6 months ago | |
chore(release): finish v5.1.0 reference cleanup and fix y18n lockfile The v5.1.0 bump missed the follow-up cleanup that v5.0.9 had (eda3e3ef), leaving 5.0.9 test fixtures behind: - version_check.rs / updater lib.rs: version-compare fixtures - retained.rs / event_loop commands.rs: release branch refs - vscode process.ts / daemon-identity.test.ts: daemon identity Also revert a bogus dependency bump: the v5.0.9 release commit rewrote y18n from 5.0.8 to 5.0.9, a version that does not exist on npmjs or npmmirror (latest is 5.0.8), while keeping the 5.0.8 integrity hash. Restore 5.0.8 in both lockfiles. Co-Authored-By: AtomCode (deepseek-flash) <duxin@csdn.net> | 1 month ago | |
refactor(tui): ⚠ 从 wide-emoji 表移除(收口 #1368 字宽修复的正确深度) code-review 跟进 abcb93000:finder 指出 (0x26A0,0x26A1) 表项使 U+26A0 成了「死/自相矛盾」条目(override 说宽度 1,表却把它当宽 emoji)。 核实:✓(U+2713)/✗(U+2717)本就被有意排除(有 assert!(!is_wide_emoji_symbol('✓')) 测试,Emoji_Presentation=No),而 ⚠(U+26A0,同为 Emoji_Presentation=No)被 误并进了本该只含 ⚡(U+26A1,Emoji_Presentation=Yes)的区间——这才是根因。 is_wide_emoji_symbol 仅被 cell_char_width 调用,收窄安全。 改:(0x26A0,0x26A1) → (0x26A1,0x26A1),让表与"⚠ 是文本呈现、窄"一致 (和 ✓ 一样排除)。cell_char_width 的前置 override 保留——它现在的活是覆盖 CJK-Ambiguous 路径(width_cjk 仍报 2),单点保证各 locale 一致。加一条 !is_wide_emoji_symbol('⚠') 排除测试。width 64 全绿。 其余两条 review 意见未改:collapse 提到"应放通用层"属 YAGNI(无第二用例) 缓做;i18n wrapper 里英文 detail 是既有模式(旧文案也是英文)非本次引入。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Provider-URL: https://gitcode.com/atomgit_atomcode/atomcode | 1 month ago |
| Files | Last commit | Last update |
|---|---|---|
| 1 month ago | ||
| 3 months ago | ||
| 2 months ago | ||
| 3 months ago | ||
| 2 months ago | ||
| 1 month ago | ||
| 1 month 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 | ||
| 2 months ago | ||
| 3 months ago | ||
| 1 month ago | ||
| 2 months ago | ||
| 2 months ago | ||
| 2 months ago | ||
| 3 months ago | ||
| 2 months ago | ||
| 3 months ago | ||
| 6 months ago | ||
| 1 month ago | ||
| 1 month ago |