mirror of
https://github.com/NanmiCoder/cc-haha
synced 2026-07-17 13:13:35 +08:00
Desktop non-session tabs unmount the active chat composer, so component-local draft refs disappeared before users returned to the session. Move the draft into per-session chat state and save it at session-switch and unmount boundaries, then clear it after submit. Constraint: Settings and terminal tabs replace ActiveSession in ContentRouter. Rejected: Persist drafts in localStorage | would add unnecessary persistence migration surface for a runtime-only draft. Confidence: high Scope-risk: narrow Directive: Keep composer draft state scoped per session; do not move it back into component-only refs without covering unmount and remount. Tested: bun run test src/components/chat/ChatInput.test.tsx --run Tested: bun run check:desktop Tested: bun run verify
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