Skip to content

fix(web): settle the provider update marker once instead of bouncing forever - #160

Merged
rynfar merged 1 commit into
pylonfrom
fix/update-marker-motion
Aug 29, 2026
Merged

fix(web): settle the provider update marker once instead of bouncing forever#160
rynfar merged 1 commit into
pylonfrom
fix/update-marker-motion

Conversation

@rynfar

@rynfar rynfar commented Aug 29, 2026

Copy link
Copy Markdown
Collaborator

The update-available arrow in the provider list ran
[animation:bounce_2.4s_ease-in-out_infinite], so it repainted for as long as the
Providers page stayed open — and Settings is a page people leave open.

Two things wrong with that:

  1. AGENTS.md rules the category out. "No continuously repainting animations;
    they peg the GPU on high-refresh displays."
  2. Bounce easing reads dated. Real objects decelerate smoothly. Flagged
    independently by the repo's design hook (bounce-easing).

What changes

The cue stays; the loop goes. A named keyframe settles the icon once on
appearance with ease-out-quint (cubic-bezier(0.22, 1, 0.36, 1)), following the
finite-iteration pattern settings-search-target-pulse already establishes in
this stylesheet. motion-reduce:animate-none still disables it.

Verification

  • vp test run ProviderInstanceCard.test.ts ProviderSettingsPanel.environment.test.tsx — passing
  • vp run -F @t3tools/web typecheck, vp lint — clean
  • No infinite animation remains in the file

This came in via a9d75ce1e (merged in #125), restoring an update cue an earlier
refactor had dropped. The cue was right; only its motion needed changing. Left
untouched by the 2026-08-28 upstream batch because no branch in it modified that
line.

Closes #148.

Claude Opus 5 via Claude Code.


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

…forever

The update-available arrow ran [animation:bounce_2.4s_ease-in-out_infinite], so
it repainted for as long as the Providers page stayed open. AGENTS.md rules that
class out - continuously repainting animations peg the GPU on high-refresh
displays - and bounce easing reads dated next to the rest of the app's motion.

Keeps the cue, drops the loop. A named keyframe settles the icon once on
appearance with ease-out-quint, following the finite-iteration pattern already
used by settings-search-target-pulse. motion-reduce still disables it.

Closes #148.
@github-actions github-actions Bot added size:S vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. labels Aug 29, 2026
@github-actions

Copy link
Copy Markdown

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 13.3 KiB 13.3 KiB +1 B (+0.0%) 15.1 KiB
Codex Thread snapshot wire 6.9 KiB 6.9 KiB −4 B (−0.1%) 7.3 KiB
Codex Live turn WebSocket wire 6.4 KiB 6.4 KiB +5 B (+0.1%) 7.8 KiB
Codex Live turn WebSocket decoded 55.5 KiB 55.5 KiB 0 B (0.0%) 66.4 KiB
Codex Live turn messages 9 9 0 (0.0%) 21
Claude Total thread wire 13.3 KiB 13.3 KiB −43 B (−0.3%) 15.1 KiB
Claude Thread snapshot wire 6.9 KiB 6.9 KiB +2 B (+0.0%) 7.3 KiB
Claude Live turn WebSocket wire 6.4 KiB 6.4 KiB −45 B (−0.7%) 7.8 KiB
Claude Live turn WebSocket decoded 56.4 KiB 56.3 KiB −44 B (−0.1%) 66.4 KiB
Claude Live turn messages 10 9 −1 (−10.0%) 21

Baseline: 71a06e0 · PR result: b17ccf0 · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 109.4 KiB
  • Claude decoded thread snapshot: 110.1 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@rynfar
rynfar merged commit 7f7fead into pylon Aug 29, 2026
14 checks passed
@rynfar
rynfar deleted the fix/update-marker-motion branch August 29, 2026 05:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Provider update marker uses a continuously repainting bounce animation

1 participant