mirror of
https://github.com/NanmiCoder/cc-haha
synced 2026-07-15 12:53:31 +08:00
This folds together the desktop-side fixes needed before broader rollout. Session resume no longer deadlocks waiting on init, Mermaid and inline image output render inside chat, task and sub-agent state stay visible during execution, local build/release paths are safer, and Feishu/Telegram now expose lightweight mobile commands (/help, /status, /clear) without adding a new adapter-specific protocol. Constraint: Desktop releases must publish updater artifacts from non-draft GitHub releases Constraint: IM commands need short, phone-friendly responses and low operational complexity Rejected: Add a dedicated IM command API surface | re-used existing slash commands and session/task REST endpoints to keep adapters thin Rejected: Wait for task_update push events in WebUI | added low-risk polling because the current frontend ignores that event path Confidence: medium Scope-risk: broad Reversibility: clean Directive: Keep IM command replies terse and mobile-first, and merge local fallback slash commands when server-provided lists are partial Tested: cd desktop && bun x vitest run src/components/chat/MermaidRenderer.test.tsx src/components/markdown/MarkdownRenderer.test.tsx Tested: cd desktop && bun x vitest run src/components/chat/composerUtils.test.ts src/pages/ActiveSession.test.tsx src/stores/chatStore.test.ts Tested: cd desktop && bun run lint Tested: bun test src/server/__tests__/conversations.test.ts --test-name-pattern "SDK init arrives only after the first user turn" --timeout 60000 Tested: cd adapters && bun test common/ feishu/ telegram/ Tested: cd adapters && bunx tsc --noEmit Not-tested: Full GitHub Actions release run on all three desktop platforms Not-tested: Local DMG packaging end-to-end on Apple Silicon Not-tested: Real Feishu/Telegram device sessions against a live adapter process
53 lines
1.4 KiB
JSON
53 lines
1.4 KiB
JSON
{
|
|
"name": "claude-code-desktop",
|
|
"private": true,
|
|
"version": "0.1.0",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "tsc -b && vite build",
|
|
"build:sidecars": "bun run ./scripts/build-sidecars.ts",
|
|
"build:macos-arm64": "bash ./scripts/build-macos-arm64.sh",
|
|
"preview": "vite preview",
|
|
"tauri": "tauri",
|
|
"test": "vitest",
|
|
"test:ui": "vitest --ui",
|
|
"lint": "tsc --noEmit"
|
|
},
|
|
"dependencies": {
|
|
"@tailwindcss/typography": "^0.5.19",
|
|
"lucide-react": "^0.469.0",
|
|
"marked": "^15.0.7",
|
|
"mermaid": "^11.14.0",
|
|
"prism-react-renderer": "^2.4.1",
|
|
"react": "^18.3.1",
|
|
"react-diff-viewer-continued": "^4.2.0",
|
|
"react-dom": "^18.3.1",
|
|
"react-shiki": "^0.9.2",
|
|
"shiki": "^4.0.2",
|
|
"zustand": "^5.0.3"
|
|
},
|
|
"devDependencies": {
|
|
"@tailwindcss/vite": "^4.0.0",
|
|
"@testing-library/dom": "^10.4.1",
|
|
"@testing-library/jest-dom": "^6.6.3",
|
|
"@testing-library/react": "^16.1.0",
|
|
"@types/react": "^18.3.18",
|
|
"@types/react-dom": "^18.3.5",
|
|
"@vitejs/plugin-react": "^4.3.4",
|
|
"jsdom": "^25.0.1",
|
|
"tailwindcss": "^4.0.0",
|
|
"typescript": "^5.9.3",
|
|
"vite": "^6.0.7",
|
|
"vitest": "^3.0.4"
|
|
},
|
|
"optionalDependencies": {
|
|
"@tauri-apps/api": "^2.3.0",
|
|
"@tauri-apps/cli": "^2.3.1",
|
|
"@tauri-apps/plugin-dialog": "^2.2.1",
|
|
"@tauri-apps/plugin-process": "^2.2.1",
|
|
"@tauri-apps/plugin-shell": "^2.2.1",
|
|
"@tauri-apps/plugin-updater": "^2.2.1"
|
|
}
|
|
}
|