Implement Canvas File Viewer and UI/UX Improvements
What's Changed
This release introduces a new file viewer within the Canvas, allowing users to interact with various file types directly in the UI. It also includes several UI/UX improvements across the application and internal code organization enhancements.
- Version Update:
package.jsonupdated from0.10.3to0.10.4. - Preload API Extension:
src/preload/index.d.tsnow includesopenFileNativelyfor opening files with the OS's default application. - Agent Settings Refactor: Refactored
SecuritySettingsandSystemPromptSettingscomponents for better organization. - Advanced Chat Settings UI: Introduced a collapsible "Advanced Chat Settings" section with new icons (
ChevronDown,ChevronRightfromlucide-react) and styling adjustments. - Canvas File Viewer: Added a new component
src/renderer/src/features/chat/components/canvas/canvas-file-viewer.tsxfor displaying and interacting with files within the canvas. - Canvas Integration: Updated
src/renderer/src/features/chat/components/canvas/index.tsxandsrc/renderer/src/features/chat/components/chat-content.tsxto integrate the newCanvasFileViewerand introduce a "files" view mode. - Message Item File Handling: Improved how files attached to messages are handled, including adding them to the canvas store and supporting new file types across various
message-itemcomponents. - Error Block Update: Added a new error suggestion for "Failed to interpret action" in
src/renderer/src/features/chat/components/message-item/error-block.tsx. - File Type Utilities: Added new utility files
src/renderer/src/features/chat/utils/file-types.tsandsrc/renderer/src/features/chat/utils/get-file-name.tsfor file type determination and name extraction. - Onboarding UI Adjustments: Minor UI/layout adjustments for the onboarding flow.
- Update Notification Styling: Styling updates for the update notification component.
- OIDC Auth Lock: Added a module-level lock (
isAnyBackendAuthInProgress) to prevent concurrent backend authentication calls insrc/renderer/src/shared/hooks/use-oidc-auth.ts. - Canvas Store Enhancements: Significant updates to
src/renderer/src/shared/store/canvas-store.tsto manage mentioned files, add files in batches, and introduce aviewModefor the canvas.
Impact
- New Features: Introduction of a comprehensive file viewer within the canvas, allowing users to interact with various file types directly in the UI.
- Improved UX: Refactored agent settings, collapsible chat settings, and enhanced file handling contribute to a more organized and intuitive user experience.
- Code Organization: Better separation of concerns with new utility files for file types and names.
- Minor Dependency Updates:
package.jsonversion bump. - No Breaking Changes: The changes appear to be additive and refactoring, not introducing breaking changes.
- Performance/Security: The OIDC auth lock improves robustness, and the
openFileNativelyfunction provides direct OS file opening capabilities
PRs
- feat: Implement Canvas File Viewer and UI/UX Improvements by @damianvtran in #61
Full Changelog: v0.10.3...v0.10.4