- Remove commented-out playback logic from share page
- Simplify tool call handling in PlaybackControls by removing toolPlaybackIndex state
- Fix tool navigation initialization and synchronization issues
- Consolidate HIDE_STREAMING_XML_TAGS constant from multiple files into utils.ts
- Add 'create-tasks' to hidden streaming XML tags list
- Improve tool call side panel index synchronization
- Add cursor pointer styling to slider components for better UX
- Remove unused toolName tracking in chunk processing
- Fix tool index initialization to start at 0 instead of -1
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Removed maintenance notice fetching from the DashboardLayout component.
- Introduced a new API route for fetching maintenance notice data.
- Updated DashboardLayoutContent to use a custom hook for maintenance notice queries.
- Adjusted data types for maintenance notice timestamps to strings for consistency.
- Added prefetching options in sidebar components for improved performance.
- Removed references to QStash in documentation and codebase.
- Updated setup and configuration files to reflect the transition to Supabase Cron.
- Implemented new functions for scheduling and unscheduling jobs using Supabase Cron.
- Added webhook authentication using a shared secret for enhanced security.
- Cleaned up related dependencies and example configurations.
- Added PostHog client initialization in instrumentation-client.ts.
- Configured Next.js rewrites for PostHog ingestion endpoints in next.config.ts.
- Implemented user identification and event tracking in various components, including pricing-section.tsx, sidebar-left.tsx, chat-input.tsx, and api.ts.
- Introduced PostHogIdentify component to handle user session changes.
- Updated package.json and package-lock.json to include PostHog dependencies.
- Removed hardcoded maximum parallel agent runs and replaced with a configurable property in the Configuration class.
- Updated API and agent limit checks to utilize the new configuration property.
- Simplified error handling by removing limit from error details in the frontend components.
- Adjusted UI components to reflect changes in agent limit data structure.
- Added functionality to check the maximum parallel agent runs allowed within a 24-hour period.
- Introduced `AgentRunLimitError` to handle cases where the limit is exceeded.
- Updated API to return appropriate error responses for agent run limits.
- Created `AgentRunLimitDialog` component to inform users when the limit is reached, displaying currently running agents and options to stop them.
- Integrated limit checks into agent initiation and running processes across relevant components.
- Introduced memoization for ToolCallSidePanel and FileViewerModal to enhance rendering efficiency.
- Cleaned up unused useEffect hooks in ThreadPage to improve readability and maintainability.
- Refactored playback timeout management in PlaybackControls to utilize useRef for better performance.
- Enhanced streaming content handling in ThreadContent with a helper function for improved clarity and functionality.
- Modify the default tab selection logic to display 'preview' for Markdown or HTML files, and 'code' for others.
- This change enhances the user experience by ensuring the appropriate tab is shown based on file type.
- Introduced ForwardButton for advancing playback by one message.
- Added ResetButton to restart playback from the beginning.
- Refactored Play and Reset button implementations into separate components for better readability and maintainability.
- Updated the playback state management to handle new button functionalities.
These changes improve user interaction with playback controls, allowing for more intuitive navigation through messages.
- Eliminate the currentTags and publishTags state management from AgentsPage.
- Update openPublishDialog and handleAgentPublish functions to no longer set tags.
- Modify PublishDialog to remove tag input and add an alert for sensitive information warnings.
- Ensure the publishing process remains intact without the tags functionality.
This streamlines the publishing process and enhances user awareness regarding sensitive data.
- Add backend API endpoints for agent export/import
- GET /agents/{agent_id}/export - exports agent configuration as JSON
- POST /agents/import - imports agent from JSON (new agents only)
- Add AgentExportData and AgentImportRequest Pydantic models
- Integrate export functionality in agent config header
- Add always-visible 3-dots menu left of "Prompt to Build" tab
- Include export option in dropdown menu for all agent types
- Handle loading states during export process
- Add subtle import functionality to new agent dialog
- Replace mode selection with "or import from JSON" link
- Support file upload and validation for agent JSON
- Streamline UX for creating agents from templates
- Create React Query hooks for export/import operations
- useExportAgent: handles JSON download with proper error handling
- useImportAgent: creates new agent and invalidates cache
- Remove update existing agent option (import creates new agents only)
- Fix API integration to use direct fetch calls with backend URL
- Clean up unused components and improve code organization
This enables users to share agent configurations across instances
and create agents from templates with an intuitive interface.