Skip to content

feat(timeline): add canonical progress titles and animated activity indicator - #1692

Merged
AnishSarkar22 merged 8 commits into
MODSetter:devfrom
AnishSarkar22:fix/cannonical-timeline
Aug 18, 2026
Merged

feat(timeline): add canonical progress titles and animated activity indicator#1692
AnishSarkar22 merged 8 commits into
MODSetter:devfrom
AnishSarkar22:fix/cannonical-timeline

Conversation

@AnishSarkar22

@AnishSarkar22 AnishSarkar22 commented Aug 18, 2026

Copy link
Copy Markdown
Collaborator

Description

  • Replaces progress bullet lists with live tool-title updates such as “Rendering preview.”
  • Restores canonical tool titles when activities finish.
  • Replaces the pixel-grid loader with a transparent animated fluid-orb SVG in timeline-activity-indicator.tsx.
  • Smoothly fades and removes the indicator when the assistant response ends.
  • Now default is SANDBOX_MAX_SESSIONS_PER_WORKSPACE=5.

Motivation and Context

FIX #

Screenshots

API Changes

  • This PR includes API changes

Change Type

  • Bug fix
  • New feature
  • Performance improvement
  • Refactoring
  • Documentation
  • Dependency/Build system
  • Breaking change
  • Other (specify):

Testing Performed

  • Tested locally
  • Manual/QA verification

Checklist

  • Follows project coding standards and conventions
  • Documentation updated as needed
  • Dependencies updated as needed
  • No lint/build errors or new warnings
  • All relevant tests are passing

High-level PR Summary

This PR refactors the activity progress display system by replacing the details list field with a single progressTitle string 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
Order File Path
1 surfsense_backend/app/services/streaming/types.py
2 surfsense_backend/app/tasks/chat/streaming/handlers/tools/activity.py
3 surfsense_backend/app/tasks/chat/streaming/relay/activity_journal.py
4 surfsense_backend/app/capabilities/core/progress.py
5 surfsense_web/lib/chat/activity-journal.ts
6 surfsense_web/features/chat-messages/timeline/presentation.ts
7 surfsense_web/features/chat-messages/timeline/interleaved-trace.tsx
8 surfsense_web/components/ui/timeline-activity-indicator.tsx
9 surfsense_web/components/prompt-kit/pixel-grid-loader.tsx
10 surfsense_web/app/globals.css
11 surfsense_backend/tests/unit/tasks/chat/test_activity_contract.py
12 surfsense_backend/tests/unit/tasks/chat/test_activity_journal.py
13 surfsense_web/tests/unit/chat/activity-journal.test.ts

Need help? Join our Discord

…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.
@vercel

vercel Bot commented Aug 18, 2026

Copy link
Copy Markdown

@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.

@coderabbitai

coderabbitai Bot commented Aug 18, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: fbbf6227-c089-4cab-b963-baf5a889e19a

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@AnishSarkar22
AnishSarkar22 marked this pull request as ready for review August 18, 2026 13:38
@AnishSarkar22 AnishSarkar22 changed the title Fix/cannonical timeline feat(timeline): add canonical progress titles and animated activity indicator Aug 18, 2026
@AnishSarkar22
AnishSarkar22 merged commit 69e62be into MODSetter:dev Aug 18, 2026
7 of 11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant