mirror of
https://github.com/NanmiCoder/cc-haha
synced 2026-07-17 13:13:35 +08:00
Desktop AskUserQuestion waits on the SDK permission bridge, and a transient renderer disconnect could previously let the short no-client cleanup kill the CLI. That turned a live user question into an AbortError and left history restore showing a stale interactive card. Track live SDK permission requests, replay them to reconnecting clients, and give sessions waiting on user input a longer cleanup grace. Render aborted terminal results as completed history instead of an unanswered prompt. Constraint: SDK permission requests are live in-memory control messages until answered or aborted. Rejected: Only de-dupe history cards in MessageList | would not keep the CLI alive or restore the active permission request. Rejected: Disable disconnect cleanup globally | would leak abandoned CLI processes for ordinary disconnected sessions. Confidence: high Scope-risk: moderate Reversibility: clean Directive: Do not shorten pending-permission cleanup without testing AskUserQuestion reconnect and abort paths. Tested: bun run check:desktop Tested: bun run check:server Tested: git diff --check Not-tested: Live Sub2API provider reconnect repro.
Claude Code Haha Desktop
基于 Tauri 2 + React 的桌面客户端。
开发
bun install
bun run tauri dev
构建
# macOS (Apple Silicon)
./scripts/build-macos-arm64.sh
# Windows (x64, MSI only)
.\scripts\build-windows-x64.ps1
构建产物位于 build-artifacts/ 目录,文件名会显式包含平台、架构和包类型。
常见问题
macOS 提示"已损坏,无法打开"
xattr -cr /Applications/Claude\ Code\ Haha.app