mirror of
https://github.com/NanmiCoder/cc-haha
synced 2026-07-18 13:23:33 +08:00
The sidebar project filter had regressed to lossy projectPath strings, so the UI showed broken folder-name fragments and the dropdown could not match the richer project chooser used in session creation. This switches the sidebar back to recent-project metadata, renders the filter menu through a portal, and keeps session filtering behavior unchanged while restoring readable labels and paths. Constraint: Sidebar filtering still needs to target existing session projectPath values without migrating store shape Constraint: The desktop sidebar dropdown must escape local stacking and overflow constraints to render reliably Rejected: Keep deriving labels from sanitized projectPath strings | lost repo names and full paths, causing misleading project choices Rejected: Rebuild sessionStore around recent-project objects in this fix | broader state migration than needed for the regression Confidence: high Scope-risk: moderate Reversibility: clean Directive: Keep sidebar project displays aligned with /api/sessions/recent-projects metadata instead of reintroducing string-splitting fallbacks Tested: cd desktop && bunx vitest run src/components/layout/ProjectFilter.test.tsx src/components/layout/Sidebar.test.tsx Tested: cd desktop && bun run lint Tested: cd desktop && bun run build Not-tested: Manual desktop visual pass of the repaired dropdown in a live Tauri window
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