- Deduplicate NSCameraUsageDescription / NSMicrophoneUsageDescription
in src-tauri/Info.plist and add scripts/check-info-plist.cjs +
info-plist-check.yml workflow to enforce uniqueness in CI
- Rewrite Camera.tsx with explicit permission state machine
(checking/prompting/granted/denied/restricted/error). Denial is
detected via getUserMedia NotAllowedError instead of a silent
60-second poll
- Add "Camera blocked" recovery panel: Open System Settings deep link
(x-apple.systempreferences:...Privacy_Camera), Re-check button, and
collapsible Diagnostics with copy-to-clipboard
- Always log err.name from getUserMedia rejections; drop console.log
device noise
- Add Settings → Privacy panel listing Camera, Microphone,
Accessibility, Screen Recording, Automation with status pills,
per-row "Open in System Settings" buttons and a tccutil escape-hatch
hint. macOS-only
- Add CONTRIBUTING.md documenting tccutil reset for dev-vs-release
bundle id collisions and the useHttpsScheme requirement for
Camera-hosting windows
- EN/ZH translations for all new strings
Agent-Logs-Url: https://github.com/infinilabs/coco-app/sessions/c8e85860-673a-4951-8677-8fcaeb8ad109
Co-authored-by: medcl <64487+medcl@users.noreply.github.com>
* chore: support for github action releases (#165)
* chore: support for generating update files (#168)
* chore: support for github action releases
* chore: support for generating update files
* chore: include TAURI_SIGNING_PRIVATE_KEY_PASSWORD variable in the release
* chore: replacing the pubkey when updating