mirror of
https://github.com/NanmiCoder/cc-haha
synced 2026-07-16 13:03:31 +08:00
Packaged desktop shutdown was killing the server sidecar with SIGKILL on Unix, which skipped server-side cleanup for CLI subprocesses spawned by active chat sessions. The native layer now gives sidecars a SIGTERM grace window, and the server waits for active CLI sessions to exit before completing signal-driven shutdown. Constraint: Tauri shell CommandChild::kill maps to SIGKILL on Unix. Rejected: Only clean stale processes on next launch | leaves user-owned sessions and sockets in an unknown state after every unclean app exit. Confidence: high Scope-risk: moderate Directive: Do not replace the SIGTERM grace path with direct CommandChild::kill without rechecking packaged-app process-tree shutdown. Tested: bun test src/server/__tests__/conversation-service.test.ts Tested: bun run check:server Tested: bun run check:native Tested: git diff --check Not-tested: Fresh DMG install plus manual quit/reopen process-tree smoke.