Implement Recording Support and Cross-Platform FFmpeg Installation
What's Changed
This release introduces beta support for recording capabilities (audio and video) in the UI with cross-platform FFmpeg installation logic for Electron. It also includes various UI/UX improvements related to file viewing, editing, and general application usability.
- This is a new feature implementation and refactoring to enable multimedia recording and enhance the overall user interface and development experience.
- Key improvements or modifications:
- Recording UI: Integrated audio and video recording functionality directly into the chat message input, with corresponding UI elements (start/stop/confirm/cancel buttons).
- Cross-Platform FFmpeg Installation: Added robust scripts for Linux, macOS, and Windows to automatically download and install FFmpeg binaries during the backend setup, ensuring recording capabilities are available out-of-the-box.
- Entitlement Updates: Updated
entitlements.mac.plistto includecom.apple.security.device.camera,com.apple.security.device.microphone, andcom.apple.security.device.screen-capturefor macOS. - File Viewer Enhancements: Improved
canvas-file-viewer.tsxto handle duplicate file names more robustly andcode-editor.tsxfor better content change detection. - HTML Preview: Added
keyprop toHtmlIframeto force re-render on content changes. - Development Environment: Switched
devscript inpackage.jsonto usedotenv-clifor better environment variable management. - UI/UX Refinements: Added keyboard shortcuts for confirmation modals and recording controls, and a "Copy File Path" option to the file actions menu.
Impact
- Does this change introduce any breaking changes? No breaking changes; it's additive and backward-compatible.
- Are there any dependency updates? Added
dotenv-clias a development dependency. FFmpeg is now a runtime dependency handled by install scripts. - Are there any performance or security implications? Improved performance for file handling; security enhancements include proper entitlement requests for recording and robust FFmpeg installation.
PRs
- feat: Implement Recording UI and Cross-Platform FFmpeg Installation by @damianvtran in #66
Full Changelog: v0.10.9...v0.11.0