- Split 1,089-line thread.tsx into 10 smaller, focused modules
- Created dedicated files for thinking-steps, welcome, composer, messages, etc.
- No breaking changes - all logic preserved exactly as before
- Improved code organization and maintainability
- Updated the write_todos tool to include an optional description field for todo items, improving task detail management.
- Enhanced the system prompt with clearer guidelines on using the write_todos tool, including refined usage patterns and examples for various user scenarios.
- Improved UI components to support the new description feature, ensuring better visibility of task details during planning and execution.
- Streamlined the code for better readability and maintainability, aligning with recent refactoring efforts.
- Refactored the write_todos tool to enhance argument and result schemas using Zod for better validation and type safety.
- Updated the WriteTodosToolUI to streamline the rendering logic and improve loading states, ensuring a smoother user experience.
- Enhanced the Plan and TodoItem components to better handle streaming states and display progress, providing clearer feedback during task management.
- Cleaned up code formatting and structure for improved readability and maintainability.
- Updated system prompt to clarify usage of the display_image tool, emphasizing valid URL requirements and prohibiting user-uploaded image displays.
- Introduced write_todos tool for creating and updating planning lists, with detailed usage instructions and examples.
- Enhanced message handling to persist attachments and mentioned documents, ensuring they survive page reloads.
- Improved UI components to integrate the new write_todos tool and ensure consistent user experience across chat interactions.
- Implemented a mechanism to auto-focus the editor immediately after the first message is sent, improving user experience by allowing quick follow-up queries.
- Introduced a reference to track the previous state of the thread to ensure focus only occurs during the transition from empty to non-empty.
- 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.
- Removed unnecessary calculations for in-progress and last completed step states in ThinkingStepsDisplay.
- Simplified the getStepOpenState function to focus on current step status.
- Introduced constants for animation timing and file extension categories in ChainOfThought for better maintainability.
- Enhanced icon retrieval logic based on file types and step statuses, improving clarity and performance.
- Updated component props to use TypeScript interfaces for better type safety and readability.
- Updated system prompt to clarify usage of the display_image tool, emphasizing URL requirements and restrictions on user-uploaded images.
- Enhanced the streaming chat process to provide more context about user attachments and documents during analysis.
- Implemented state resets when switching between chats to prevent stale data and race conditions.
- Added new components for displaying image previews and document attachments in the chat interface.
- Improved attachment processing to support image data URLs for persistent display after uploads.
- 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.
- Changed navigation from researcher to new-chat in EditorPage.
- Updated NewChatPage to support lazy thread creation on first message.
- Adjusted breadcrumb to not display thread ID for new-chat sections.
- Improved user experience by modifying error messages and loading states.
- Enhanced styling in model-selector component for better visibility.
- Updated DashboardClientLayout to improve child component overflow handling.
- Refactored NewChatPage to streamline the layout and integrate ChatHeader directly within the Thread component.
- Added optional header prop to Thread component for better customization.
- Cleaned up ChatHeader by removing unnecessary wrapper for improved design.
- Introduced NewQueryScrollHandler component to automatically scroll to the latest user message when a new query is submitted, enhancing user experience.
- Updated ChatHeader component to remove unnecessary border for a cleaner design.
- Adjusted ModelSelector styles for improved visual consistency and accessibility.
- Enhanced the message content filtering logic to exclude both "thinking-steps" and "mentioned-documents" for better clarity in chat messages.
- Updated the dependency imports in the thread component for improved organization and consistency.
- Adjusted the effect dependencies in the NewChatPage component to include the message documents map for better state management.
- Added functionality to extract and manage mentioned documents within the new chat interface.
- Introduced new atoms for storing mentioned documents and their mappings to user messages.
- Enhanced the message persistence logic to include mentioned documents, ensuring they are displayed correctly in the chat.
- Updated the UI components to support document mentions, including a refined document selection interface.
- Improved state management for document mentions to ensure a seamless user experience.
- Updated the new chat routes to include handling for mentioned document IDs, allowing users to reference specific documents in their chat.
- Modified the NewChatRequest schema to accommodate optional document IDs.
- Implemented document mention formatting in the chat streaming service for improved context.
- Enhanced the frontend to manage document mentions, including a new atom for state management and UI updates for document selection.
- Refactored the DocumentsDataTable component for better integration with the new mention functionality.
- Enhanced the new chat agent module to allow for configurable tools, enabling users to customize their experience with various functionalities.
- Removed outdated tools including display image, knowledge base search, link preview, podcast generation, and web scraping, streamlining the codebase.
- Updated the system prompt and agent factory to reflect these changes, ensuring a more cohesive and efficient architecture.