mirror of
https://github.com/NanmiCoder/cc-haha
synced 2026-07-17 13:13:35 +08:00
The tab strip was relying on browser drag-and-drop, which worked in the web UI but did not reliably start inside the macOS overlay title bar in the packaged Tauri desktop app. This switches tab reordering to a pointer-driven interaction that computes insertion positions directly, keeps the drag indicator behavior, and preserves the separate window-drag fallback for non-tab title-bar space. Constraint: Must work inside the macOS overlay title bar where native window hit-testing interferes with browser drag events Rejected: Keep tuning draggable/drop handling | web behavior stayed fine while desktop never consistently entered the drag sequence Confidence: high Scope-risk: narrow Reversibility: clean Directive: Keep tab reordering on explicit pointer handling unless the title-bar architecture changes away from overlay hit-testing Tested: bun run test -- src/components/layout/TabBar.test.tsx; bun run lint; bun run build Not-tested: Manual packaged desktop app verification after this commit
Claude Code Haha Desktop
基于 Tauri 2 + React 的桌面客户端。
开发
bun install
bun run tauri dev
构建
# macOS (Apple Silicon)
./scripts/build-macos-arm64.sh
# Windows (x64)
.\scripts\build-windows-x64.ps1
构建产物位于 build-artifacts/ 目录。
常见问题
macOS 提示"已损坏,无法打开"
xattr -cr /Applications/Claude\ Code\ Haha.app