feat(timeline): add canonical progress titles and animated activity indicator - #1692
Conversation
…l grid loader - Added a new `TimelineActivityIndicator` component to enhance visual feedback in the chat interface. - Updated styles in `globals.css` to support the new timeline animations. - Removed the deprecated `PixelGridLoader` component to streamline the codebase and improve performance. - Integrated the `TimelineActivityIndicator` into the chat message timeline for better user experience.
…ndering logic - Removed data-active attribute from the `TimelineActivityIndicator` component to streamline its usage. - Updated CSS styles in `globals.css` to apply animations directly to the activity indicator without relying on the active state. - Enhanced `TurnHeaderContent` to manage the visibility of the activity indicator based on the showIndicator prop, improving user experience in the chat timeline.
…essTitle - Changed the comment in ProgressReporter to clarify the role of coarse events. - Renamed the 'details' field to 'progressTitle' in ActivityData and updated related methods to reflect this change. - Adjusted tests to verify the new naming convention for progress tracking in activities.
…e data handling - Introduced a new `getActivityPresentation` function to encapsulate logic for determining activity status and title, replacing the previous `effectiveActivityStatus` function. - Updated `ActivityRow` and `TurnSegment` components to utilize the new presentation function, improving clarity and reducing redundancy. - Renamed the `details` field to `progressTitle` in `ActivityData` to better reflect its purpose, and adjusted related parsing logic accordingly. - Enhanced unit tests to validate the new activity presentation logic and ensure proper handling of progress titles.
…yles - Added new CSS animations for orbit, pulse, and breathing effects in the timeline activity indicator. - Updated the `TimelineActivityIndicator` component to incorporate new animation styles and properties for improved visual feedback. - Introduced additional CSS variables for pulse and breathe animations, enhancing the dynamic presentation of activity indicators. - Refactored dot styles to include new animation parameters, ensuring a cohesive and engaging user experience.
|
@AnishSarkar22 is attempting to deploy a commit to the Rohan Verma's projects Team on Vercel. A member of the Team first needs to authorize it. |
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
- Changed the import statement for `virtual_path_to_doc` to streamline the module structure and improve code clarity.
Description
timeline-activity-indicator.tsx.SANDBOX_MAX_SESSIONS_PER_WORKSPACE=5.Motivation and Context
FIX #
Screenshots
API Changes
Change Type
Testing Performed
Checklist
High-level PR Summary
This PR refactors the activity progress display system by replacing the
detailslist field with a singleprogressTitlestring field. The change simplifies how ongoing activity progress is communicated in the timeline, showing a single descriptive title instead of multiple bullet points. The frontend loading indicator was also upgraded from a simple pixel grid to an elaborate orbital animation with complex CSS keyframes and SVG filters, along with accessibility support for reduced motion preferences.⏱️ Estimated Review Time: 15-30 minutes
💡 Review Order Suggestion
surfsense_backend/app/services/streaming/types.pysurfsense_backend/app/tasks/chat/streaming/handlers/tools/activity.pysurfsense_backend/app/tasks/chat/streaming/relay/activity_journal.pysurfsense_backend/app/capabilities/core/progress.pysurfsense_web/lib/chat/activity-journal.tssurfsense_web/features/chat-messages/timeline/presentation.tssurfsense_web/features/chat-messages/timeline/interleaved-trace.tsxsurfsense_web/components/ui/timeline-activity-indicator.tsxsurfsense_web/components/prompt-kit/pixel-grid-loader.tsxsurfsense_web/app/globals.csssurfsense_backend/tests/unit/tasks/chat/test_activity_contract.pysurfsense_backend/tests/unit/tasks/chat/test_activity_journal.pysurfsense_web/tests/unit/chat/activity-journal.test.ts