mirror of
https://github.com/NanmiCoder/claude-code-haha.git
synced 2026-10-10 11:53:10 +08:00
404422487b
The card renders from the transcript, but it can only be answered through the live permission request. Two ways that mismatch bit users: An unanswered question whose request is gone — the renderer was away when it arrived, and the bounded 30-minute pending-permission window then reclaimed the CLI — rendered as a fully editable form whose Submit and "chat about this" buttons were silently dead, with nothing saying why. The card now reports the question as expired and delivers the answers as an ordinary message instead, which is the only channel left once nothing is waiting. Answers also lived only in component state, so switching tabs (ContentRouter mounts only the active tab) or scrolling the card out of the virtualized window threw them away. They now live in a store slice keyed by session and toolUseId, along with the two terminal states only this renderer knows about, so a remount cannot resurrect an answerable form and deliver the same answer twice. While a question is pending the composer no longer takes a message at all: the model is blocked inside the tool call, so a queued message cannot reach it until the question resolves, and reading it as "I already replied" is how questions got abandoned. The round button stays Stop, which aborts the question and unlocks the composer. Tested: cd desktop && bunx vitest run (5889 passed; the one failure is the pre-existing computerUseWorker case that needs adapters/node_modules) Tested: cd desktop && bun run lint && bun run build
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