mirror of
https://github.com/NanmiCoder/claude-code-haha.git
synced 2026-10-10 20:03:13 +08:00
44137ccb91
The NSIS installer spawned by quitAndInstall() inherits the app process environment, including the app-managed CLAUDE_CONFIG_DIR / CC_HAHA_APP_PORTABLE_DIR pair that applyStartupPortableMode() derives from app-mode.json. The installer's recovery helper then re-validated that snapshot against the persisted mode it reads via its own APPDATA and blocked the whole upgrade on any disagreement (mode switched without a restart, APPDATA differing from the app's known-folder view), even though an active data directory outside every install directory cannot be touched by removing the old version. Manually launched setups never saw the variables, which is why they kept working. - clear the app-managed portable env before handing off to the spawned installer (shared with the existing app.relaunch() cleanup), so built-in updates present the same clean environment as a manual setup - downgrade the recovery helper's managed-mode consistency check from fail-closed to treating the directory as externally managed; the install-contained legacy data guard below it still refuses unsafe removals, and matching persisted modes behave exactly as before
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