feat(seer): Redesign IconSeer loading animation for ThinkingBlock - #124300
Merged
Merged
Conversation
Contributor
Story previewsPreview the stories changed in this PR on the Vercel deployment:
Preview deployment: https://sentry-crzmfqbox.sentry.dev |
natemoo-re
force-pushed
the
nm/seer/thinking-icon-v2
branch
2 times, most recently
from
September 14, 2026 17:31
7a632d7 to
b54576d
Compare
natemoo-re
force-pushed
the
nm/seer/thinking-icon-v2
branch
from
September 14, 2026 18:22
b54576d to
966f82c
Compare
natemoo-re
force-pushed
the
nm/seer/thinking-icon-v2
branch
from
September 14, 2026 18:28
966f82c to
dd9231c
Compare
natemoo-re
force-pushed
the
nm/seer/thinking-icon-v2
branch
from
September 14, 2026 18:32
dd9231c to
235f16f
Compare
natemoo-re
force-pushed
the
nm/seer/thinking-icon-v2
branch
from
September 14, 2026 18:50
235f16f to
6aa9bfc
Compare
natemoo-re
marked this pull request as ready for review
September 14, 2026 20:40
- Renames IconSeer animation props from `'loading' | 'waiting'` to `'idle' | 'loading'` - `idle` is the rolling-eye design, used by background callers - `loading` is a faux-3D pyramid spin for ThinkingBlock's active thinking state - Extracts loading spinner into SeerLoadingSpinner sub-component so useId/useTheme/useIconDefaults hooks only run when loading is active, fixing black fill on non-animated IconSeer instances Co-authored-by: Claude <noreply@anthropic.com>
natemoo-re
force-pushed
the
nm/seer/thinking-icon-v2
branch
from
September 14, 2026 21:20
d9a5dca to
fdb2451
Compare
Member
|
i still see |
ryan953
reviewed
Sep 14, 2026
ryan953
approved these changes
Sep 14, 2026
Safari claims CSS `d` property support but can't interpolate it in @Keyframes, breaking the loading sweep lines. Fall back to the idle eye-roll animation when CSS d animation isn't supported.
Address review feedback: AskSeerButton now uses 'loading' animation when thinking instead of 'idle'. Update stories from stale 'waiting' to 'idle'.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Re-land of #123256 (reverted in 92499d2) with a fix for the black fill regression on non-animated
<IconSeer />instances.The original PR called
useId(),useTheme(), anduseIconDefaults()unconditionally at the top ofIconSeer— even for static/idle renders that didn't need them. This caused the eye region of non-animated Seer icons to fill black.Fix: the pyramid spin loading animation is now extracted into a private
SeerLoadingSpinnersub-component, so those hooks only mount whenanimation="loading"is active. Static and idle icons have the exact same code path asmaster.Changes:
IconSeeranimation props from'loading' | 'waiting'to'idle' | 'loading'idleis the rolling-eye, used by background callers (checkout upsell, AI setup, Seer Explorer, investigations)loadingis the faux-3D pyramid spin forThinkingBlock's active thinking state