mirror of
https://github.com/NanmiCoder/cc-haha
synced 2026-08-01 16:43:37 +08:00
Three things the catalogue got wrong once the window was larger than a laptop lid. The first-page skeleton was a fixed six cards. On a wide desktop shell that is two rows above half a screen of nothing, which reads as "loaded, almost empty" for as long as the request takes. It now measures the space below itself and fills it, capped at a page so it never promises more cards than can arrive. The next page came from a button. It now comes from an observer on a sentinel, started 400px early, with a row of placeholder cards while the page is in flight. The observer is rebuilt after each page: it only reports changes, so a sentinel that never left the viewport would fire once and leave a tall window half filled. The button stays as the fallback for a runtime without IntersectionObserver. A failed page used to land in `error`, which blanks the catalogue behind a full-region panel — and under auto-loading would have walked straight back into the same failure forever. It gets its own `loadMoreError`: an inline notice under the grid, a retry the reader asks for, and no observer until they do. Also adds the way out of the catalogue: the header now carries an entry to the installed-skills browser in Settings, next to the source status.
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