claude-code-best/src
unraid 189766c5af fixup: address CodeRabbit second-round review on PR #386
Four inline + one outside-diff actionable comment from the second CodeRabbit
review on claude-code-best/claude-code#386:

- tests/mocks/auth.ts: align mock return contracts with src/utils/auth.ts.
  checkAndRefreshOAuthTokenIfNeeded resolves to a Promise<boolean> and
  getClaudeAIOAuthTokens returns the full token shape (refreshToken, expiresAt,
  scopes, subscriptionType, rateLimitTier) so tests that branch on these
  values can not silently drift away from production.
- src/utils/handlePromptSubmit.ts (461-468): clear the freshly-published
  abortController before the early return when every claimed autonomy command
  was skipped as non-consumable, so this turn's stale controller does not leak
  into the next turn.
- src/utils/handlePromptSubmit.ts (621-649): separate execution failure from
  finalizer failure. The turn body now writes to a `turnError` slot; a single
  pass after the inner try decides whether to finalize claimed commands as
  `completed` or `failed`, with each finalize call wrapped in its own
  try/catch so a failure inside finalize does not flip a successful turn into
  `failed` and double-finalize the same commands. The outer catch only
  rethrows the original turn error.
- src/utils/processUserInput/processSlashCommand.tsx (228-276): wrap the
  post-success `finalizeDeferredAutonomyRunCompleted()` call in its own
  try/catch so a finalize failure no longer falls into the worker-failure
  catch path and emits a contradictory `<scheduled-task-result status="failed">`
  for a slash command that actually succeeded.

Outside scope (not changed) — the CodeRabbit suggestion to add a `.ts`
extension to the shared `tests/mocks/auth` import contradicts the project's
existing convention: every other test imports the shared mocks without the
extension (e.g. `tests/mocks/log`, `tests/mocks/debug`,
`tests/mocks/file-system`), and the project's tsconfig does not enable
`allowImportingTsExtensions`, so adding the extension fails typecheck. The
import is kept extension-less to match the rest of the suite.

Validation:
- bun run typecheck (clean).
- bun test → 3996 pass / 0 fail across 305 test files.
2026-04-29 15:49:54 +08:00
..
__tests__ fixup: address CodeRabbit review on PR #386 2026-04-29 15:17:50 +08:00
assistant feat: 添加服务层增强与零散改进 2026-04-22 22:38:10 +08:00
bootstrap chore: 清理仓库审计问题——修正 CLAUDE.md、删除冗余 yoga-layout、清除 621 个未使用的类型 stub (#354) 2026-04-25 08:54:18 +08:00
bridge fix: bound agent communication memory growth (#369) 2026-04-27 14:47:18 +08:00
buddy feat: 全部类型问题解决 2026-04-11 10:24:00 +08:00
cli fixup: address CodeRabbit review on PR #386 2026-04-29 15:17:50 +08:00
commands feat: harden autonomy lifecycle, OOM bounds, and provider-boundary finalization 2026-04-29 14:04:27 +08:00
components refactor: 移除消息流中的 diff 渲染,仅保留权限审批页的 diff 2026-04-28 21:23:38 +08:00
constants fix: resolve dependency audit findings precisely (#361) 2026-04-26 19:49:54 +08:00
context chore: 清理仓库审计问题——修正 CLAUDE.md、删除冗余 yoga-layout、清除 621 个未使用的类型 stub (#354) 2026-04-25 08:54:18 +08:00
coordinator feat: 工具层及 mcp 大重构 (#252) 2026-04-13 09:52:05 +08:00
daemon feat: harden autonomy lifecycle, OOM bounds, and provider-boundary finalization 2026-04-29 14:04:27 +08:00
entrypoints feat: harden autonomy lifecycle, OOM bounds, and provider-boundary finalization 2026-04-29 14:04:27 +08:00
environment-runner feat: 全面清理类型错误 — tsc 零错误,any 标注全部消除 2026-04-01 01:00:10 +08:00
hooks feat: harden autonomy lifecycle, OOM bounds, and provider-boundary finalization 2026-04-29 14:04:27 +08:00
jobs Feat/integrate lint preview (#285) 2026-04-16 20:59:29 +08:00
keybindings Feature/add auto mode settings and fix bug (#368) 2026-04-26 15:43:25 +08:00
memdir Fixture/langfuse record auto mode data error (#308) 2026-04-20 13:30:05 +08:00
migrations chore: 清理仓库审计问题——修正 CLAUDE.md、删除冗余 yoga-layout、清除 621 个未使用的类型 stub (#354) 2026-04-25 08:54:18 +08:00
moreright 更新大量 tsx 原始文件; 已经迁移 login panel; 部分 (#121) 2026-04-04 23:24:27 +08:00
native-ts/file-index fix: resolve dependency audit findings precisely (#361) 2026-04-26 19:49:54 +08:00
outputStyles feat: build 2026-03-31 19:22:47 +08:00
plugins feat: 接入内建 weixin channel(同 #301 重构版本) (#303) 2026-04-19 21:33:27 +08:00
proactive feat: harden autonomy lifecycle, OOM bounds, and provider-boundary finalization 2026-04-29 14:04:27 +08:00
query feat: harden autonomy lifecycle, OOM bounds, and provider-boundary finalization 2026-04-29 14:04:27 +08:00
remote feat(remote-control): 优化 Web 展示、状态同步与桥接控制流程 (#288) 2026-04-17 16:21:27 +08:00
schemas chore: 清理仓库审计问题——修正 CLAUDE.md、删除冗余 yoga-layout、清除 621 个未使用的类型 stub (#354) 2026-04-25 08:54:18 +08:00
screens fixup: address CodeRabbit review on PR #386 2026-04-29 15:17:50 +08:00
self-hosted-runner feat: 全面清理类型错误 — tsc 零错误,any 标注全部消除 2026-04-01 01:00:10 +08:00
server feat: 全面清理类型错误 — tsc 零错误,any 标注全部消除 2026-04-01 01:00:10 +08:00
services feat: harden autonomy lifecycle, OOM bounds, and provider-boundary finalization 2026-04-29 14:04:27 +08:00
skills chore: 清理仓库审计问题——修正 CLAUDE.md、删除冗余 yoga-layout、清除 621 个未使用的类型 stub (#354) 2026-04-25 08:54:18 +08:00
ssh feat: 实现 SSH Remote — 本地 REPL + 远端工具执行 2026-04-24 14:25:56 +08:00
state fix: resolve dependency audit findings precisely (#361) 2026-04-26 19:49:54 +08:00
tasks feat: harden autonomy lifecycle, OOM bounds, and provider-boundary finalization 2026-04-29 14:04:27 +08:00
types feat: harden autonomy lifecycle, OOM bounds, and provider-boundary finalization 2026-04-29 14:04:27 +08:00
upstreamproxy feat: 问就是封包 2026-03-31 23:32:58 +08:00
utils fixup: address CodeRabbit second-round review on PR #386 2026-04-29 15:49:54 +08:00
vim feat: build 2026-03-31 19:22:47 +08:00
voice feat: 集成豆包 ASR 语音识别后端,支持 /voice doubao 切换 (#357) 2026-04-25 13:57:30 +08:00
commands.ts refactor: 解耦 BRIDGE_MODE 与 DAEMON,禁用 DAEMON 降低内存占用 2026-04-24 10:01:05 +08:00
context.ts feat: build 2026-03-31 19:22:47 +08:00
cost-tracker.ts feat: ACP 协议版本 remote control (#293) 2026-04-18 21:54:22 +08:00
costHook.ts feat: build 2026-03-31 19:22:47 +08:00
dialogLaunchers.tsx chore: 添加脚本与构建配置更新 2026-04-22 22:38:10 +08:00
history.ts feat: 添加服务层增强与零散改进 2026-04-22 22:38:10 +08:00
interactiveHelpers.tsx feat: 正式启用 auto mode (#307) 2026-04-20 10:20:27 +08:00
main.tsx feature: langfuse thinking 及 文本edit的问题修复( #371); 省略 diff 以减少内存峰值 (#376) 2026-04-27 17:06:33 +08:00
projectOnboardingState.ts feat: build 2026-03-31 19:22:47 +08:00
query.ts feat: harden autonomy lifecycle, OOM bounds, and provider-boundary finalization 2026-04-29 14:04:27 +08:00
QueryEngine.ts fix: 修复 ACP 模式下 messageSelector require 失败导致 submitMessage 崩溃 2026-04-24 09:59:23 +08:00
replLauncher.tsx Revert "Revert "feat: 第一个可以用的 ink 组件抽象 (#158)" (#175)" 2026-04-07 16:17:48 +08:00
setup.ts feat: 添加服务层增强与零散改进 2026-04-22 22:38:10 +08:00
Task.ts feat: build 2026-03-31 19:22:47 +08:00
tasks.ts feat: build 2026-03-31 19:22:47 +08:00
Tool.ts feat: harden autonomy lifecycle, OOM bounds, and provider-boundary finalization 2026-04-29 14:04:27 +08:00
tools.ts feat: 添加 skill learning 技能学习闭环系统 2026-04-22 22:38:09 +08:00