Replace ReactDOMServer.renderToString with a client-side helper using
createRoot + flushSync to render small icon elements to HTML strings.
react-dom/server pulls the entire server rendering runtime into the
client JS bundle. Since this file is imported by the main chat
component (thread.tsx), the extra weight hits every chat page load.
react-dom and react-dom/client are already in the client bundle, so
the replacement adds zero new bundle weight.
Fixes#1189
- Updated the development script to include a build step before launching the app.
- Refactored the registration of quick ask and autocomplete functionalities to be asynchronous, ensuring proper initialization.
- Introduced IPC channels for getting and setting keyboard shortcuts, allowing users to customize their experience.
- Enhanced the platform module to support better interaction with the Electron API for clipboard operations.
- Improved the user interface for managing keyboard shortcuts in the settings dialog, providing a more intuitive experience.
- Added the 'lenis' library for smooth scrolling functionality.
- Integrated 'UseCasesGrid' component into the homepage layout.
- Updated 'HeroSection' to replace image elements with 'WalkthroughScroll' for enhanced user experience.
- Updated the text extraction logic to include inline mention tokens for chips, maintaining the original query structure sent to the backend.
- Refactored the text extraction process to improve readability and efficiency.
- Introduced a new endpoint for batch document status retrieval, allowing users to check the status of multiple documents in a search space.
- Enhanced the document upload process to return duplicate document IDs and improved response structure.
- Updated schemas to include new response models for document status.
- Removed unused attachment processing code from chat routes and UI components to streamline functionality.
- Updated InlineMentionEditor to enhance visual styling of mention chips.
- Refactored DocumentMentionPicker to streamline the rendering of the document selection popover and improve keyboard navigation with smooth scrolling.
- Enhanced user experience by ensuring the mention mode remains active during search without closing the popup when no results are found.
- Added document type icons in InlineMentionEditor for improved visual context.
- Updated DocumentMentionPicker to include client-side filtering, reducing false positives in search results.
- Enhanced loading state management by incorporating fetching indicators for better UX during data retrieval.
- Introduced DocumentMentionPicker component to enhance document selection experience in the chat interface.
- Updated InlineMentionEditor and Composer components to utilize the new DocumentMentionPicker.
- Removed the deprecated DocumentsDataTable component to streamline the codebase and improve maintainability.
- Enhanced type safety and validation in document handling logic.
- Refactored InlineMentionEditor to improve caret position handling and mention triggering logic.
- Removed unnecessary caret position saving and restoring functions for cleaner code.
- Updated mention handling to ensure proper closing of mention popover based on cursor position.
- Added auto-focus feature in Composer for new chat threads, enhancing user experience.
- Implemented checks to reset auto-focus when the thread is no longer empty.
- Introduced InlineMentionEditor to allow users to mention documents inline using '@'.
- Integrated the new editor into the Composer component, replacing the previous textarea input.
- Implemented functionality for handling document chips, mention triggers, and document removal.
- Enhanced user experience with real-time updates and improved keyboard navigation for mentions.