mirror of
https://github.com/NanmiCoder/cc-haha
synced 2026-07-17 13:13:35 +08:00
Desktop @-mentions were collapsing filesystem browse failures into an empty state, which made /private/tmp aliases on macOS look like real empty directories. The server now treats /private/tmp as the same temp root as /tmp on Darwin, and the menu surfaces explicit access/load errors instead of pretending the directory has no files. Constraint: Desktop browse/file APIs must stay restricted to approved roots Constraint: Native macOS pickers and realpath() may canonicalize /tmp to /private/tmp Rejected: Expanding filesystem access to arbitrary system paths | too broad for this targeted fix Rejected: Keeping silent empty-state fallback | hides permission and path bugs from users Confidence: high Scope-risk: narrow Reversibility: clean Directive: Keep filesystem error states visible in the composer; do not collapse API failures back into empty-directory messaging Tested: bun test src/server/__tests__/filesystem.test.ts Tested: cd desktop && bun run test -- FileSearchMenu.test.tsx Tested: cd desktop && bun run lint Not-tested: Manual desktop packaging or end-to-end Tauri app run after this patch