Skip to content

sessions: reduce hidden animation work#326668

Draft
justschen wants to merge 3 commits into
mainfrom
justin/appletun
Draft

sessions: reduce hidden animation work#326668
justschen wants to merge 3 commits into
mainfrom
justin/appletun

Conversation

@justschen

Copy link
Copy Markdown
Collaborator
  • Pauses continuous session-title shimmer and pixel-spinner animations when their elements are outside the viewport or their document is hidden, avoiding rendering work that cannot be seen.
  • Centralizes visibility-aware CSS animation handling so animated components share window lifecycle cleanup and resume synchronization instead of maintaining separate observers.
  • Caps the shimmer's visual update cadence while preserving its existing three-second appearance, reducing unnecessary paint pressure in large session lists.
  • Documents the sessions-list animation behavior for future maintenance.

(Commit message generated by Copilot)

- Pauses continuous session-title shimmer and pixel-spinner animations when their elements are outside the viewport or their document is hidden, avoiding rendering work that cannot be seen.
- Centralizes visibility-aware CSS animation handling so animated components share window lifecycle cleanup and resume synchronization instead of maintaining separate observers.
- Caps the shimmer's visual update cadence while preserving its existing three-second appearance, reducing unnecessary paint pressure in large session lists.
- Documents the sessions-list animation behavior for future maintenance.

(Commit message generated by Copilot)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings July 20, 2026 16:23

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Reduces hidden animation work in session lists by centralizing visibility-aware animation pausing.

Changes:

  • Adds shared viewport/document visibility handling.
  • Applies it to title shimmers and pixel spinners.
  • Caps shimmer updates and documents behavior.
Show a summary per file
File Description
src/vs/base/browser/animationSync.ts Adds shared animation visibility tracking.
src/vs/base/browser/ui/pixelSpinner/pixelSpinner.ts Migrates spinner tracking to the shared helper.
src/vs/sessions/contrib/sessions/browser/views/sessionsList.ts Pauses hidden title shimmers.
src/vs/sessions/contrib/sessions/browser/media/sessionsList.css Adds stepped cadence and paused styling.
src/vs/sessions/SESSIONS_LIST.md Documents animation behavior.

Review details

  • Files reviewed: 5/5 changed files
  • Comments generated: 1
  • Review effort level: Medium

Comment thread src/vs/base/browser/ui/pixelSpinner/pixelSpinner.ts Outdated
@github-actions

github-actions Bot commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Base: c840e221 Current: 7193898e

No screenshot changes.

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.

2 participants