- Add ReportContent(String) variant to handle report version history
- Reports store content as plain strings unlike metrics/dashboards which use YAML
- Fixes deserialization error when fetching reports with version history
- Add 'report' case to add_assets_to_collection endpoint
- Add 'report' case to remove_assets_from_collection endpoint
- Update error response mappings to include ReportFile type
- Simplified the `GeneratingContent` component to display a static loading message.
- Updated `ReportPageController` to determine if a report is being generated based on the current message context.
- Adjusted report status handling in the delta creation process to maintain 'loading' status during streaming.
- Enhanced logic in the modify reports helper to ensure file status reflects loading during streaming and only updates to completed or failed when all edits are finalized.
- Modified database query to preserve input order for new messages during updates.
- Create report_files.rs helper module with permission checking
- Add ReportFile asset type handling in add_assets_to_collection_handler
- Add Report variant to AssetToRemove enum for removal operations
- Include report files in collection queries and responses
- Follow existing patterns for MetricFile and DashboardFile
- Introduced `executeMetricQuery` utility for standardized metric SQL query execution with retry logic.
- Updated `getMetricDataHandler` and metric tool execution functions to utilize the new query utility, improving error handling and result processing.
- Added metadata generation from query results to provide detailed insights into data structure.
- Refactored SQL validation to ensure only read-only queries are executed, enhancing data integrity.
- Updated getMetricDataHandler to convert query results into a consistent type format (string | number | null).
- Improved metadata construction for query results, including detailed type mapping for database fields.
- Changed API call in the web client to use mainApiV2 for metric data requests.
- Add useAutoScroll hook to ReportEditor component
- Configure auto-scroll to be enabled only when isStreaming is true
- Add ref forwarding to EditorContainer for scroll container access
- Hook observes DOM mutations from StreamContentPlugin updates
- Maintains user scroll interaction handling (disable when scrolling up)
Co-Authored-By: nate@buster.so <nate@buster.so>
- Remove readOnly prop from Plate provider to prevent re-renders
- Apply pointer-events-none and user-select-none CSS classes to EditorContainer when readonly
- Remove readOnly prop from usePlateEditor hook
- Editor becomes inert when readonly without causing re-renders
Co-Authored-By: nate@buster.so <nate@buster.so>
- Remove InlineEquationToolbarButton from floating toolbar popup
- Remove MoreToolbarButton (three dot menu) from floating toolbar popup
- Comment out unused import statements
- Buttons were appearing when text is highlighted in report editor
Co-Authored-By: nate@buster.so <nate@buster.so>
- Add 'three', '3', and 'columns' to keywords array in columnsThree configuration
- Enables users to type 'three' in slash command to find three column component
- Follows existing pattern from numberedList component which includes '1' keyword
Co-Authored-By: nate@buster.so <nate@buster.so>
- Add shimmer loading message at bottom of editor when streaming
- Use existing ShimmerText component for consistency
- Position with absolute positioning and backdrop blur
- Show 'Generating content...' message during streaming
Co-Authored-By: nate@buster.so <nate@buster.so>
Enhance SQL permission validation error messages with actionable guidance. Update tests to reflect improved error handling and specific feedback for unauthorized queries and wildcard usage. Ensure consistency in error reporting across various SQL operations.