Skip to content

Implement Spreadsheet Preview and Canvas Edit Stability Enhancements

Choose a tag to compare

@damianvtran damianvtran released this 14 Jun 16:06
· 50 commits to main since this release
24f7029

What's Changed

This release introduces a powerful new spreadsheet preview feature and includes a wide range of UI/UX enhancements and refactoring.

  • New Spreadsheet Viewer: Implemented a feature-rich spreadsheet viewer using AG Grid to support both .csv and .xlsx files. Users can now open, view, and edit spreadsheet data directly within the canvas.
  • Enhanced File Handling:
    • Added functionality to open local files via a native dialog (Ctrl/Cmd + O).
    • Improved backend file reading/saving to handle different encodings (e.g., base64 for XLSX, utf-8 for text).
  • Global UI Improvements:
    • Centralized all scrollbar styling into a new GlobalScrollbarStyles component for a consistent look and feel across the application, removing redundant local styles.
    • Simplified the resizable divider component for a cleaner appearance.
  • WYSIWYG Editor Enhancements:
    • Improved state management and debounced saving logic for better performance and reliability.
    • Enhanced handling of agent-driven modifications to the document.
    • Added functionality to open links on double-click.
  • Text Selection Controls: The text selection pop-up can now detect URLs in the selected text and provides an option to open them in a browser.

Impact

  • New Dependencies:
    • ag-grid-community, ag-grid-react, @ag-grid-community/theming for the spreadsheet viewer.
    • xlsx for parsing and writing spreadsheet files.
  • Updated Dependencies:
    • Upgraded electron and electron-updater to newer versions.
  • Refactoring:
    • Significant refactoring of file handling logic in both the main process and renderer to support various file types and encodings.
    • Refactored numerous components to use the new global scrollbar styles.

PRs

  • feat: Implement Spreadsheet Preview and Canvas Edit Stability Enhancements by @damianvtran in #70

Full Changelog: v0.12.0...v0.12.1